Debian Net-Install проблемы запуска софта

Как запустить exe на Linux — описание всех возможных способов

Часто новые пользователи операционных систем Линукс или Unix, а также любой их разновидности (дистрибутива) пытаются активировать на них исполняемые файлы, созданные в среде Microsoft Windows и предназначенные исключительно для запуска и установки на операционных системах Виндовс. Практически сразу они понимают, что сделать этого стандартными средствами не получится, и огорчаются, но не стоит паниковать раньше времени. В этом материале будет рассказано, как произвести запуск приложений Windows на Linux, что для этого нужно и можно ли обойтись лишь стандартными средствами.

Как запустить exe на Linux и возможно ли это сделать

Сразу же стоит сказать, что установочные файлы из операционной системы Линукс не поддерживаются на Виндовс и наоборот, а значит, запустить их не получится ни на Ubuntu, ни на Kali, ни на Mint, нигде. Каждая из этих систем является непосредственным потомком Линукс, а она создана на основе Unix, которая априори не может работать с файлами COM и EXE, которые запускаются на Виндовс любой версии.

Debian Net-Install проблемы запуска софта

Окно свойств приложения

Стандартными средствами выполнить запуск этих инсталляционных пакетов и документов не получится, а вот если попробовать установить программу эмулятор Виндовс для Линукс, есть определенный шанс на успех. Таких решений есть несколько, но наиболее распространенным, стабильным и удобным является Wine. Оно работает в качестве простого слоя совместимости с API от Windows.

Важно! Wine позволяет запустить не все программы Windows на Linux, так как он все еще активно развивается и дополняется новыми функциями. Несмотря на это, базовые программы с Винды на нем идут без каких-либо нареканий. Установить Вайн можно через классический репозиторий ПО.

Debian Net-Install проблемы запуска софта

Установка программного обеспечения через командную строку из стандартного репозитория

Что такое Wine для Линукс

Wine представляет собой специализированное программное обеспечение, которое позволяет выполнять запуск классический приложений для Виндовс (с расширением *.exe) в среде любого дистрибутива Линукс. Об этом приложении слышали многие пользователи Unix-подобных систем и в некоторой степени оно помогло сэкономить их кучу времени.

Сразу же стоит сказать, что на некоторых дистрибутивах Линукс этот программный продукт установлен «из коробки» (предустановлен и входит в набор стандартных программ), поэтому в них уже можно пытаться запускать EXE-файлы и ошибки операционная система не выдаст.

Для того чтобы узнать, установлено ли приложение в конкретный дистрибутив и какой оно версии, необходимо перейти в консоль и прописать там команду «winecfg». Если окно открылось, то программа установлена. Для просмотра ее версии переходят в раздел «О программе».

Debian Net-Install проблемы запуска софта

Первый запуск и настройка программы Wine

Немаловажный вопрос заключается в том, где и как взять новую версию программного продукта. Если говорить проще, то существует три версии Wine: Stable – стабильная версия без вылетов и багов, которая устанавливается в большинстве случаев, Beta – бета-релиз, являющийся тестовым, и Development Release – особая версия для разработчиков программного обеспечения. Сравнительно недавно была произведена оптимизация всех модулей программы, поэтому можно смело устанавливать любую версию, начиная с 1.6.2.

Использование эмулятора Виндовс для Линукс

Необходимо разобрать вопрос о том, как установить EXE на Linux и пользоваться их без каких-либо ограничений. Для этого будет использована программа Wine, которая есть в некоторых дистрибутивах по умолчанию. Далее будет рассказано, как происходит установка, запуск и настройка Wine (Linux эмулятора Windows).

Установка Wine

Наиболее популярный способ установки Wine основан неиспользовании менеджера приложений. Он имеется на некоторых дистрибутивах, основанных на Debian или RedHat. Для этого необходимо:

  1. Перейти в главное меню операционной системы, нажав по соответствующей клавише.
  2. Запустить оттуда программу под названием «Менеджер приложений».
  3. В поисковой строке написать «Wine» и нажать на клавишу ввода.
  4. Просмотреть результаты внизу, найти нужный и нажать на кнопку «Установить», находящуюся около программы.
  5. Произвести проверку подлинности учетной записи и ввести ее пароль.
  6. Дождаться окончания установки, которая может длиться пару минут.

Debian Net-Install проблемы запуска софта

Запуск Windows приложений в Linux

Запуск и настройка Wine

Как только симулятор запуска Windows программ на Linux установлен, появится соответствующая кнопка, позволяющая открыть его. Необходимо это для работы, а в случае первого запуска и для предварительных конфигураций.

Большинство настроек уже выполнено за пользователя и нет необходимости разбираться с них крайне детально. Несмотря на это, придется выполнить ряд действий до того, как запустится первый EXE файл.

Запуск приложений Windows на Linux через Wine

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

На данный момент Wine поддерживает огромное количество различных приложений с Виндовс, но лучше все же пользоваться списками. Там можно точно узнать, работает ли ПО под Вайн, как оно работает и не нужны ли «танцы с бубном» для запуска. Иногда встречается такое ПО, которое работает не совсем гладко или для его настройки приходится попотеть. Некоторые программы не работают вовсе.

Что касается игр, то тут ситуация складывается аналогичным образом. Часть проектов может работать без проблем, для некоторых нужны дополнительные настройки, а часть не будет работать ни под каким предлогом. Также в играх обязательна поддержка ДиректХ. Вначале Вайн поддерживал только девятую версию, но потом начался ввод DirectX 10 и 11. В 2015 году под ними не работало ничего, но ближе к 2019 году поддержку получили многие проекты.

Важно! Еще одной проблемой запуска является производительность в играх и 3D-приложениях. Если с программами, работающими с OpenGL все более-менее нормально, то ДиректХ явно теряет производительность, но это обещают исправить.

Запуск выглядит следующим образом:

  1. Скачивают или переносят на флешке необходимый файл с расширением EXE.
  2. Нажимают по нему правой клавишей мыши и выбирают пункт контекстного меню под названием «Открыть файл в другом приложении».
  3. В новом диалоговом окне выбирают строку «Wine – загрузчик Виндовс программ».
  4. Дожидаются открытия нового окна, в котором можно полноценно управлять программой, если она поддерживается Wine.

Если ПО портативное, то с ним работают сразу же, иначе – производят установку.

Debian Net-Install проблемы запуска софта

Выбор файла для загрузки в режиме «Emulator Windows»

Таким образом, было рассмотрено, как в Линуксе запустить файл с расширением EXE. На самом деле это очень просто сделать не только на Убунту, но и на Кали или Минте. Сам по себе Wine представляет оболочку Windows, которая взаимодействует с ней через тоннель API-функций. После установки ПО будет работать в фоновом режиме, и ожидать запуска EXE программ и установщиков.

Linux Maniacs

Notes about linux and programming

4/21/2009

Учим Linux запускать exe файлы.

Как известно в Linux по умолчанию используется ELF (Executable and Linkable Format) формат исполняемых файлов.
Однако, не составляет труда обучить ядро Linux запускать любые другие исполняемые файлы (.exe файлы для Windows, скрипты на shell, python, байткод java и т.д.) без явного указание эмулятора Т.е. в командной строке можно просто написать ./notepad.exe или ./my_script.py.
Для этого нужно обеспечить ядро необходимой информацией о формате исполняемого файла, и о том, каким образом и с помощью чего его можно интерпретировать.

Что для этого нужно?

1. Для этого нужно включить в ядре поддержку остальных исполняемых форматов:

В секции Executable file formats / Emulation—>
Опция Kernel support for MISC binaries

Debian Net-Install проблемы запуска софта

Можно или встроить эту возможность в ядро, или оформить ее в качестве отдельного модуля. Модуль будет называться binfmt_misc.

2. Подмонтировать файловую систему binfmt_misc в каталог /proc:
mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc

3. Перейти в каталог /proc/sys/fs/binfmt_misc. У вас тут должно лежать два файла: register и status

4. Описать формат и интерпретатор для этого формата:

Для того что зарегистрировать новый формат исполняемого файла и интерпретатор для него нужно добавить в файл register строку в формате:
:name:type:offset:magic:mask:interpreter:flags
Вот что значат приведенные поля:

  • ‘name’ — строковый идентификатор. В каталоге /proc/sys/fs/binfmt_misc будет создан новый файл с именем name
  • ‘type’ — способ распознавания. Может быть ‘M’ для волшебства и ‘E’ для расширения.
  • ‘offset’ — смещение маски в файле,считается в байтах. Этот параметр по умолчанию равен 0, если вы его не указываете (например: ‘:name:type::magic. ‘)
  • ‘magic’ — последовательность байт для соответствия которой и определяется binfmt_misc. Строка поля magic может содержать шестнадцатириные символы, такие как \x0a или \xA4.
  • ‘mask’ маска (опциональна, по умолчанию имеет значение 0xff) . Добавляя строку как в поле magic и такой же длины, вы можете маскировать соответствие некоторых битов файла.
  • ‘interpreter’ — программа, которая должна быть выполнена вместе с исполняемым фалйлом, как первый аргумент (Необходимо указывать полный путь)
  • ‘flags’ — опциональное поле, которое контролирует нектороые аспекты вызова интерпретатора

Например для запуска windows приложений с помощью wine в качестве интерпретатора в register нужно добавить такую строку:

Теперь в каталоге /proc/sys/fs/binfmt_misc у нас появился файл DOSWin следующего содержания:

$bash: cat DOSWin
enabled
interpreter /usr/bin/wine
flags:
offset 0
magic 4d5a

После всего этого в командной строке можно написать ./notepad.exe и у вас запустится notepad с помощью wine’a.

5. Для того, чтобы binfmt_misc не пришлось монтировать каждый раз вручную, в /etc/fstab можно добавить вот такую строчку:
none /proc/sys/fs/binfmt_misc binfmt_misc defaults 0 0

для того чтобы включить, нужно записать 1 :

Как запустить. exe из командной строки Linux

Я новичок в Linux. В настоящее время я пытаюсь написать командную строку, которая должна выполнить * .exe внутри папки abc.

Но ошибка говорит no such file or directory .

но если это действительно программа для Windows, вам нужно установить «wine», затем выполните:

но только некоторые программы Windows будут работать под Wine.

Этот ответ объединяет другие ответы на этот вопрос в один.

Файл info.exe будет выполняться в Linux или Windows, но не в обоих случаях.

Выполняется под Windows

Если файл является файлом Windows, он не будет работать под Linux самостоятельно. Так что, если это так, вы можете попробовать запустить его под эмулятором Windows (WINE). Если он не совместим с Wine, вы не сможете выполнить его под Linux.

Прежде чем начать, вам нужно будет установить Wine. Шаги, необходимые для установки wine, будут зависеть от используемой вами платформы linux. Вы можете, вероятно, гуглить «Ubuntu install wine», если, например, вы устанавливаете Ubuntu.

После того, как вы установили Wine, вы сможете выполнять эти команды.

Выполнить под Linux

если вы знаете, что этот файл запускается под linux, то вы захотите выполнить эти команды:

Перейдите в каталог abc

Тогда вы хотите изменить права доступа , чтобы Л.Л. пользователей электронного х ecute этого файл (а + х). Вы могли бы также позволить только ˙U ГЭЭ е х ecute (и + х)

Запустите программу, ./ заставляет командную строку искать в текущем пути файл для выполнения (если директория ‘current’ отсутствует в переменной окружения $ PATH.

Запуск EXE-файлов в Linux

Debian Net-Install проблемы запуска софта

Шаг 1: Установка Wine

Запуск EXE-файлов в Linux — задача несложная, однако небольшие трудности заключаются в поиске инструментов, позволяющих справиться с этим. Популярной программой является Wine, и ее аналогов почти нет, а существующие неизвестны практически никому. Поэтому в сегодняшней статье мы поговорим именно об этом решении. Начать стоит с его добавления в дистрибутив, поскольку по умолчанию Wine отсутствует в любой сборке ОС, основанной на Linux.

Способ 1: Менеджер приложений

Существует несколько доступных вариантов инсталляции Wine. Первый подразумевает использование менеджера приложений, который встроен в популярные дистрибутивы, основанные на Debian или RedHat. В первую очередь рассмотрим именно этот вариант, а осуществляется поставленная цель так:

  1. Откройте основное меню, кликнув по соответствующей кнопке, и запустите оттуда «Менеджер приложений».

Debian Net-Install проблемы запуска софта

Отыщите кнопку поиска, чтобы открыть строку для ввода названия программы.

Debian Net-Install проблемы запуска софта

Напишите Wine и опуститесь вниз по списку, чтобы найти подходящий вариант.

Debian Net-Install проблемы запуска софта

Debian Net-Install проблемы запуска софта

Для начала этой процедуры придется подтвердить подлинность учетной записи, введя пароль.

Debian Net-Install проблемы запуска софта

Ожидайте завершения инсталляции. Данная операция займет несколько минут, поскольку Wine является объемным приложением.

Debian Net-Install проблемы запуска софта

После нажмите на кнопку «Запустить», чтобы выполнить предварительную конфигурацию.

Debian Net-Install проблемы запуска софта

Сейчас давайте приступим к рассмотрению альтернативного варианта инсталляции, если этот вам не подходит, а о предварительной настройке установленного инструмента поговорим в отдельном шаге данного материала.

Способ 2: Официальные репозитории

Как известно, программы в «Менеджере приложений» находятся в официальных репозиториях, а принцип их установки основан на терминальных командах. Именно их и следует задействовать в тех случаях, когда нет возможности открыть решение с GUI или оно попросту отсутствует в используемом дистрибутиве. Не переживайте, управление консолью не является чем-то сложным, в чем и удостоверимся далее.

Debian Net-Install проблемы запуска софта

В появившейся строке введите sudo apt install wine-stable . Если вы используете дистрибутив, основанный, например, на RedHat, следует заменить пакетный менеджер APT на установленный в текущей сборке. Это может быть, например, YUM или Pacman.

Debian Net-Install проблемы запуска софта

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

Debian Net-Install проблемы запуска софта

Вы будете уведомлены об увеличении количества занятого пространства. Подтвердите это сообщение, выбрав вариант Д.

Debian Net-Install проблемы запуска софта

Ожидайте окончания инсталляции. Во время этого не закрывайте «Терминал», иначе весь процесс будет сброшен.

Debian Net-Install проблемы запуска софта

На этом инсталляция завершена. Имеются еще и другие альтернативные методы добавления Wine в операционную систему, но их детальный разбор сейчас не имеет смысла, поэтому перемещаемся к следующему этапу.

Шаг 2: Первый запуск и настройка Wine

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

Debian Net-Install проблемы запуска софта

Дождитесь завершения обновления конфигурации. Во время этого на экране будут появляться сообщения о надобности инсталляции дополнительных компонентов, включая .NET Framework и Gecko.

Debian Net-Install проблемы запуска софта

После этого отобразится графическое меню с пользовательской конфигурацией. Здесь присутствуют детальные описания каждого пункта на русском языке, поэтому мы предлагаем разобраться с этим самостоятельно. Связано это и с тем, что все параметры устанавливаются по желанию пользователей.

Debian Net-Install проблемы запуска софта

На этом процедура конфигурации успешно завершена, а значит, можно переходить к непосредственному запуску имеющихся EXE-файлов.

Шаг 3: Запуск EXE-файлов через Wine

Перед началом выполнения поставленной задачи хотим отметить, что не стоит рассматривать Wine как полноценное средство работы с программами для Windows. Конечно, он является эмулятором, но потребление системных ресурсов при запуске софта поднимается в несколько раз, а также могут отсутствовать какие-либо опции, изначально работающие в Windows. Далее мы расскажем о более подходящих решениях для использования ПО в Linux, а сейчас давайте все-таки разберемся с выполнением EXE-объектов.

Debian Net-Install проблемы запуска софта

Щелкните по нему правой кнопкой мыши и в контекстном меню выберите пункт «Открыть в другом приложении».

Debian Net-Install проблемы запуска софта

Появится отдельное окно «Выбрать приложение». Здесь вас интересует пункт «Wine — загрузчик Windows программ».

Debian Net-Install проблемы запуска софта

Если это уже полноценный софт, он откроется в новом окне и им можно управлять. В случае взаимодействия с инсталлятором начните стандартную операцию установки.

Debian Net-Install проблемы запуска софта

Дождитесь окончания этой операции. Она может занять много времени, поскольку процессор в большинстве ситуаций нагружается на максимум.

Debian Net-Install проблемы запуска софта

После этого вы можете запустить программу через значок на рабочем столе, графический интерфейс Wine или меню приложений.

Debian Net-Install проблемы запуска софта

Это было все, что мы хотели рассказать о запуске ПО для Windows в Linux. Как видно, лучшее решение всего одно, поэтому его и задействуют абсолютно все пользователи, желающие реализовать данную цель. Остается только следовать инструкциям, чтобы без каких-либо проблем открыть EXE-элемент и начать взаимодействие с ним.

Помимо этой статьи, на сайте еще 12315 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Теперь по порядку:
1. Включаю комп,ни чего не изменилось, кроме rpmdrake ничего не запускалось, обои меняются (папка на диске с виндой, который автомонтировался), при нажатии на иконку питания в системном лотке, жесткое зависание. Выключаю питанием системного блока.

2. Загружаюсь в режиме восстановления ( как раз чтобы графика не запускалась, я прав ? ), Делаю пробу. Запускаю mc, нахожу device_automounter_kcmrc, просматриваю, там три числа, мне это ничего не сказало — удалил. Нахожу kded_device_automounterrc, просмотр, тут уже мне понятно что к чему :) . Удалять не стал. По порядку каждому диску прописал false и делал перезагрузку. чтоб методом исключения вычислить негодяя, если в нем дело. Изменений нет. ( после отключения монтирования диска с виндой, обои не загрузились, что есть правильно).

3. Удалил из автозагрузки скрипт на запуск клементине. На всякий случай.

4. Напряг память что еще делал. Я включил автовход. Пытался найти в конфигах файл по названию подходящему по смыслу. Не нашел ( познаний не хватило)

5. После очередной обычной загрузки нажал alt+ctrl+back_space. попал на окно входа в систему. Нажал на шестеренку выбрал режим «упрощенный». Вошло. Прописал dolphin. Он запустился. Уже обрадовался. В юзер/бин нашел систем сеттинг. Запустил. Еще раз обрадовался. Полез в настройки автовхода чтобы выключить. тут облом. Ошибка 4. Окно с вводом пароля не вышло. Ну думаю ладно. В папке юзер/бин в долфине нажал пкм, открыл консоль. В консоле клавиатура работать отказалась ( хотел запустить системсеттинг в режиме су).

8. Сейчас попробую перезагрузится.

Почему программа после установки не запускается

Пробовал обновлять индексы пакетов
sudo attitude update
sudo apt-get upgrade
Так же перезапускал систему (хотя приложения линукс вроде этого не требуют).
Я наверное чего то не знаю. Просветите меня пожалуйста.
Ubuntu 14.04 LTS

Debian Net-Install проблемы запуска софта

Попробуй запустить в эмуляторе терминала и посмотри что в него выводится.

Debian Net-Install проблемы запуска софта

Debian Net-Install проблемы запуска софта

установился коректно из деп пакета, только не запускается.

Где брал deb пакет? Лучше так не ставь никогда. Только из репозиториев. Попробуй запустить через терминал и посмотри, что пишет.

Вобщем проблема решена, вывод сделан, всегда проверять консолью. Спасибо!

Кратко

  • убедитесь, что ошибка вызвана не вашими некорректными действиями
  • повесьте баг в Багзиллу
  • попробуйте локализовать и устранить ошибку самостоятельно

Да, такое иногда случается даже в Линукс: вы запускаете какую-то программу, а она не запускается. Или делаете какое-то совершенно безобидное действие в программе, и она вдруг закрывается. Тогда не исключено, что вы нашли ошибку в программе.

Кто сломал программу?

Первым делом вам надо убедиться, что это не вы «сломали» программу. Например, если вы недавно вручную отредактировали конфигурационные файлы программы (даже если вы считаете на 200 %, что все сделали правильно), попробуйте вернуть старые конфиги (я надеюсь, вы уже поняли, зачем сохранять старые конфиги :)).

Если вы недавно обновили систему, то это тоже следует вспомнить. Возможно, обновлённая версия программы требует изменений в настройках, несовместима со старыми конфигами, или просто напросто содержит ошибку 🙂

Если вы только что перезагрузили свою систему выдёргиванием вилки из розетки или кнопкой reset, то это может быть причиной повреждения файлов на диске. И, как следствие, некорректной работы программ.

Хуже всего, если вы уже год ничего не трогали в вашей системе, вчера вечером всё работало, а сегодня утром вдруг развалилось. Тогда у вас серьёзные проблемы, причём, скорее всего, аппаратные: пора пылесосить системный блок, сменить планку памяти, или отправить на покой жёсткий диск.

Что делать с ошибкой?

Итак, вы убедились, что не сами сломали программу. Что делать? Нужно занести сообщение об ошибке в систему отслеживания ошибок. Написано множество заметок и трактатов по поводу того, как и что писать в Багзиллу. Кратко изложу основные принципы ещё раз:

  • укажите версию вашего дистрибутива (включая обязательное упоминание об точечных обновлениях, если они были)
  • укажите точную версию программы. Например, написать «у меня Gimp 2.6» будет крайне неверно. Вместо этого покажите вывод команды rpm -q ИМЯ_ПАКЕТА:
  • кратко напишите, в чем заключается ошибка, и что нужно делать, чтоб ее воспроизвести. Если надо, приложите файлы, на которых проявляется ошибка.
  • никогда ничего не пишите своими словами! Например, сообщение вида «программа сказала что-то типа что не хватает памяти или как-то так» скорее всего будут проигнорированы, а ваш «рейтинг» в глазах разработчиков снизится до уровня плинтуса. Вместо этого пишите точные сообщения и логи (где их брать см. ниже).

Если вы не уверены, что нашли ошибку, попробуйте уточнить на форуме или в рассылке. Напишите туда сообщение согласно выше приведённым рекомендациям.

Если вы знаете, как устранить ошибку, или нашли сайт в интернете, где уже обсуждалась похожая ошибка, и есть что-то, напоминающее решение, то обязательно укажите это в сообщении. Этим вы облегчите жизнь мейнтейнеру пакета, и ускорите процесс исправления ошибки.

Где именно сломалось?

Иногда случается, что программа отваливается совершенно без симптомов. Но это бывает редко, если уметь «запускать» программы. Обычно от программы можно получить достаточно сведений для определения причины ошибки.

Не запускайте неработающую программу из меню КДЕ (или любой другой среды) или через значок на рабочем столе. Откройте терминал, наберите в нем имя исполняемого файла программы, и нажмите ввод. Если вы не знаете, какой командой запускается программа, подсмотрите её в свойствах значка или пункта меню.

В данном примере при попытке запустить программу seamonkey, выдается сообщение об ошибке. Опытные пользователи из данного сообщения могут почерпнуть сведения о причинах ошибки, и о способах её устранения.

Многие программы протоколируют свою работы в log-файлах. И в случае возникновения какой-либо ошибки, информация в лог-файлах может оказаться крайне ценной. Большинство логов следует искать в каталоге /var/log . Многие программы имеют ключи запуска, с помощью которых можно увеличить степень подробности лог-файлов. Обычно, эти ключи следует искать в man по ключевым словам log или debug .

Например, в man smbd можно прочитать:

То есть с помощью ключа -d можно менять степень детализации. Кроме того, обычно можно указать имя файла, в который будет записываться журнал.

Один из наиболее часто востребованных лог-файлов является файл /var/log/Xorg.0.log , в котором содержится протокол работы графической подсистемы.

Ещё один важный лог-файл это /var/log/messages , в котором находится системный журнал. В нем отображаются все основные процессы, происходящие в системе, включая сведения об аппаратных ошибках, подключаемых съёмных устройствах и т. п. (обратите внимание, что чтение данного файла возможно только руту).

Как устранить проблему?

Если проблема вызвана некорректными настройками программы, то воспользуйтесь старыми настройками, сохранёнными в резервной копии ваших данных. Если такой возможности нет, то стоит попробовать «отодвинуть в сторону» имеющиеся настройки, и запустить программу с настройками по умолчанию. Обычно, под «отодвинуть в сторону» подразумевается временное удаление (переименование, перемещение) каталога с настройками программы. Настройки программ лежат в домашнем каталоге пользователя, в подкаталогах, начинающихся с точки, например в

/.blender . Приложения KDE хранят свои настройки в

Где именно сломалось, для опытных пользователей

Иногда локализовать ошибку помогает использование программы strace . Особенно хорошо работает для обнаружения проблем с правами доступа к файлам (устройствам), необходимым для работы программы.

Почему не запускаются приложения?

Ubuntu 20.04 после установки всё летает, даже как-то подозрительно: по ощущениям не работала так убунта никогда, кажется что она просто в памяти находится (даже не на SSD, по прошлому опыту скорость работы 20.04 на SSD была заметно медленнее, то есть были просто зрительно видны некоторые паузы).
После суток работы ноут переночевал (была задумка проверить будет ли он виснуть после длительного простоя), из спячки вышел замечательно, поработал так с полчаса и перестали запускаться приложения (на панели загорается название приложения, крутится значок загрузки и секунд через 5 гаснет, типа вообще ничего не делал), перезагрузка-выключение всё работает.
Запускается только терминал (моментально, даже не моргает курсор колёсиком загрузки, что было всегда) и если вызвать наутилус, то он через полминуты появляется ))) Остальное ничего не запускается.
Убунта ставилась на SSD в режиме UEFI, был выбран пункт установки проприетарных дров через пароль, который нужно ввести после перезагрузки (что и было сделано).
SSD помечен поддержкой Windows и Mac, линукса не указано на упаковке (Patriot Burst 120).

Если ставлю на Kingston 120, то нормально всё по ощущениям незаметные паузы в работе, НО после установки через полчаса-час убунта начинает зависать на 2-5 минут, на SSD постоянно горит индикатор работы в это время, потом отпускает его и через какое-то время опять зависает.

В чём дело? Ноут просто вообще не совместим с линями?

p.s.^В убунте не новичок, систему знаю как установить, ничего не делаю: просто ставлю, обновляю всё что можно и устанавливаю заранее известные приложения и работаю, нигде не лажу ничего не ковыряю$

  • Вопрос задан 21 дек. 2020
  • 804 просмотра

Debian Net-Install проблемы запуска софта

ну и что говорит:
journalctl -b -p3

ssd новый или на грани смерти ? SMART смотрели ?
в bios установлен режим AHCI для дисков ?

dmesg что говорит? обычно если есть железные проблемы, туда сыплются ошибки

Когда такое происходит, запускай приложения из терминала, и смотри сообщения об ошибке этого приложения.

Как запустить программу на Linux

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

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

Виды программ в Linux

Перед тем, как мы перейдем к запуску программ, нужно сначала понять что представляет из себя программа. В Linux программы отличаются от других файлов только тем, что для них установлен флаг исполняемости. Я уже подробно писал об этом в статье что такое исполняемость поэтому не буду повторяться.

Все программы можно поделить на несколько типов:

  • Бинарные программы — содержат инструкции процессору уже готовые к выполнению, большинство программ находятся в таком формате, они быстрые и выполняются сразу же системой;
  • Программы на байт-коде — это уже не процессорные инструкции, а инструкции определенной виртуальной машины, которая может их выполнять, без виртуальной машины такие команды не могут быть выполнены. Такие программы потребляют больше ресурсов, но тоже достаточно быстрые, их преимущество в том, что они могут выполняться без изменения везде где может работать виртуальная машина. К таким программам можно отнести программы на Java.
  • Скриптовые программы — эти программы состоят из набора команд в виде обычного текста, которые выполняет специальный интерпретатор. Такие программы более медленные, но зато они проще в разработке и их код можно легко и быстро изменить.

А теперь перейдем к запуску программ.

Запуск программ в терминале

Изначально в операционных системах Unix и Linux не было графического интерфейса, поэтому программы запускались командами из терминала. Сейчас это тоже возможно и достаточно активно используется опытными пользователями. Синтаксис запуска программы выглядит таким образом:

Параметры указываются только, когда они нужны, но всегда оболочка должна знать полный путь к программе. Все что после имени программы и пробела — это параметры. Вы, наверное, уже заметили, что обычно мы не указываем полный путь при выполнении программ. Это было бы очень долго и неудобно.

Разработчики придумали обходной путь. Была создана переменная PATH, в которой хранятся все пути к папкам где обычно находятся программы — /bin, /sbin, /usr/bin, /usr/sbin и так далее. Вы можете посмотреть ее содержимое командой:

Debian Net-Install проблемы запуска софта

Когда вы набираете имя программы система ищет исполняемый файл с таким именем по всем папкам из PATH и если находит — то выполняет. Если же такого файла нет, то выдается сообщение — command not found. Таким образом, чтобы запустить одну из системных программ достаточно набрать имя ее исполняемого файла, например:

Debian Net-Install проблемы запуска софта

И можно передать параметры после пробела:

Debian Net-Install проблемы запуска софта

Когда программа находится не в этих каталогах, нужно указать к ней полный путь:

Debian Net-Install проблемы запуска софта

Если же вы хотите запустить программу через терминал ubuntu, которая находится в текущей папке, то ситуация будет немного другой. Система выполняет только поиск по папкам из переменной PATH, в текущей директории она не ищет. Поэтому, если вы наберете имя исполняемого файла, то получите ошибку. Нужно указывать полный путь, как вы помните путь к текущей папке будет ./:

Иногда возникает необходимость передать программе, какие-либо особые переменные окружения. Например, переменная EDITOR указывает какой текстовый редактор нужно использовать по умолчанию. Вы можете указать имя переменной и ее значение перед именем команды используя синтаксис:

имя_переменной = значение команда

Debian Net-Install проблемы запуска софта

По умолчанию эта команда открывает настройки утилиты sudo в редакторе Vim, но с этой переменной окружения настройки откроются в редакторе nano.

Запуск программ от имени другого пользователя

sudo команда
sudo whoami

Debian Net-Install проблемы запуска софта

Но с помощью опции -u можно выполнить программу от имени любого пользователя, зарегистрированного в системе:

sudo -u имя_пользователя команда
sudo -u postgres whoami

Debian Net-Install проблемы запуска софта

Команда whoami (кто я) выводит имя текущего пользователя.

Как запустить программу в фоне

Иногда возникает необходимость запустить долго выполняющуюся программу в терминале так, чтобы она не мешала дальше работать. Для этого можно использовать запуск программы в фоновом режиме linux:

dd if=/dev/zero of=

Debian Net-Install проблемы запуска софта

Система выведет PID, уникальный идентификатор программы, который вы потом можете использовать чтобы закрыть ее командой kill:

Debian Net-Install проблемы запуска софта

Как запустить скрипт в Linux

Мы уже говорили, что программы делятся на бинарные и интерпретируемые. Раньше мы говорили только про бинарные программы. Для запуска интерпретируемых нужен непосредственно интерпретатор, к таким программам относятся написанные на таких языках, как Java, Python, Perl, Ruby, PHP, NodeJS и многих других. Синтаксис запуска такой программы отличается:

интерпретатор /путь/к/файлу/программы параметры

Разные интерпретаторы ведут себя по разному, поэтому лучше сразу указывать полный путь к программе. Python обычно подхватывает скрипты из текущей папки без указания полного пути:

А Java программы нужно запускать так:

java -jar program.jar

Для файлов интерпретируемых программ флаг исполняемости необязательный, поскольку они передаются в виде параметра основной программе. Только Bash скрипты составляют исключение. Вы можете запустить скрипт интерпретатором:

Или же просто набрать путь к скрипту:

Оболочка сама определяет свои скрипты по флагу исполняемости и выполняет их. Если флаг исполняемости не установлен, то его стоит добавить:

sudo chmod u+x ./script.sh

Поэтому то и для большинства интерпретируемых программ созданы простые sh скрипты которыми их можно быстро запустить.

Запуск программ Linux в графическом интерфейсе

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

Debian Net-Install проблемы запуска софта

Кроме того, вы можете запустить программу из файлового менеджера, двойным кликом мышью, но тогда для нее обязательно должен быть установлен флаг исполняемости.

Debian Net-Install проблемы запуска софта

Debian Net-Install проблемы запуска софта

Debian Net-Install проблемы запуска софта
Debian Net-Install проблемы запуска софта

Кроме всего прочего, в строке Exec указана команда, которая выполняет запуск программы linux, когда вы делаете двойной клик на ярлыке. Вы можете взять один из существующих ярлыков и сделать на его основе свой. Здесь указано просто имя программы. Но важно заметить, что лучше указывать полный путь в таких местах, как ярлыки, скрипты, cron и так далее это уменьшит количество ошибок, поскольку вы не можете знать проверяет ли система в этом случае PATH или ищет программу только в текущем каталоге. Теперь вы знаете все о том как запустить программу на linux.

Выводы

В этой статье мы рассмотрели как запустить программу через терминал ubuntu или в других дистрибутивах Linux. Несмотря на то, что это кажется очень простой темой, тут есть свои интересные моменты, которые могут быть полезны. Но вы о них уже знаете. Если у вас остались вопросы, спрашивайте в комментариях!

#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;



static void click1_cb (GtkButton *btn1, gpointer user_data, int & n) {
 const gchar *s;


  s = gtk_button_get_label (btn1);
  if (g_strcmp0 (s, "Hello.") == 0) {
    gtk_button_set_label(btn1, "Good-bye.");
    n = 1;
  } else {
    gtk_button_set_label(btn1, "Hello.");
       n = 2;
}

 }

string GetStdoutFromCommand(string cmd) {
  string data;
  FILE * stream;
  const int max_buffer = 256;
  char buffer[max_buffer];
  cmd.append(" 2>&1");

  stream = popen(cmd.c_str(), "r");
  if (stream) {
    while (!feof(stream))
      if (fgets(buffer, max_buffer, stream) != NULL) data.append(buffer);
    pclose(stream);
  }
  return data;
}


static void
  app_activate (GApplication *app, gpointer user_data) {


  GtkWidget *win;
  GtkWidget *box;
  GtkWidget *btn1;
  GtkWidget *label;
  GtkWidget *label2;
  GtkWidget *grid;
  GtkWidget *textview = gtk_text_view_new();

 int n = 0;

  // app is new
 win = gtk_application_window_new (GTK_APPLICATION (app));
  gtk_window_set_title (GTK_WINDOW (win), "win");
   gtk_window_set_default_size (GTK_WINDOW (win), 500, 300);


// setup box1
  box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
  gtk_box_set_homogeneous (GTK_BOX (box), TRUE);
  gtk_widget_set_halign (box, GTK_ALIGN_START);
  gtk_widget_set_valign (box, GTK_ALIGN_START);
  gtk_window_set_child (GTK_WINDOW (win), box);

// setup labels
        //label = gtk_label_new(GetStdoutFromCommand("netstat -tuwapn").c_str());
        //GetStdoutFromCommand("netstat -tuwapn").c_str()
        label = gtk_label_new("dfgdf");
        gtk_label_set_markup(GTK_LABEL(label), "Network Connections);");
       // label2 = gtk_label_new(GetStdoutFromCommand("netstat -tuwapn").c_str());
        //gtk_label_set_markup(GTK_LABEL(label2), "%s");
// button
  btn1 = gtk_button_new_with_label ("Reload.");
  g_signal_connect (btn1, "clicked", G_CALLBACK(click1_cb), &n);
  gtk_widget_set_margin_top (btn1, 1);

// grid
        grid = gtk_grid_new ();
        gtk_grid_set_row_spacing (GTK_GRID (grid), 1);
    gtk_window_set_child (GTK_WINDOW (win), grid);
        gtk_grid_attach (GTK_GRID (grid), btn1,20, 3, 20, 50);
        gtk_grid_attach (GTK_GRID (grid), label,200, 3, 200, 50);
//      gtk_grid_attach (GTK_GRID (grid), label2,300, 4, 50, 50);
          
// show window
   gtk_widget_show (win);
}
 int main (int argc, char **argv) {
  GtkApplication *app;
 int stat;

 app = gtk_application_new ("gtk.org", G_APPLICATION_FLAGS_NONE);
 g_signal_connect (app, "activate", G_CALLBACK (app_activate), NULL);
 stat =g_application_run (G_APPLICATION (app), argc, argv);
  g_object_unref (app);
  return stat;
}

Все синтаксически правильно, программа компилируется на linux’e g++ xfce. Но, при работе она сама закрывается так и не выполнив весь код. Конкретно ошибка, в этой части кода, когда присываивается цифра переменной типа int.

static void click1_cb (GtkButton *btn1, gpointer user_data, int & n) {
 const gchar *s;


  s = gtk_button_get_label (btn1);
  if (g_strcmp0 (s, "Hello.") == 0) {
    gtk_button_set_label(btn1, "Good-bye.");
    n = 1;
  } else {
    gtk_button_set_label(btn1, "Hello.");
       n = 2;
}

 }

когда удаляю строки и n = 2; прорамма нормально работает. Вот, вопрос,возможно, нужно присваивать не int и указателю на *int? И какой тулзой можно посмотретьь, при запуске и работе такого bin файла, почему он впадает в crash, т.е.сам выключается?

Debian Net-Install проблемы запуска софта

Тема: Ошибка запуска приложений  (Прочитано 4408 раз)

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

Оффлайн
Mans

Произошёл сбой при выполнении процесса-потомка "su-to-root" (No such file or directory) — вот такую ошибку выдает мне при запуске некоторых приложений, так и не понял, почему они не запускаются со стандартных ярлыков в меню. Приходится вручную запускать в терминале через sudo. Ставлю пакеты с Центра приложений Ubuntu. Как сделать, чтобы они запускались с командой su-to-root?


bulatus

конкретно что за приложения


Оффлайн
Mans

lucky backup, back in time, gsamrt и ещё чего то, но думаю проблема не в приложения, если запускать в терминале с командой sudo, всё работает, но ярлыки в меню бесполезны.


bulatus

попробуйте переустановить, но ставить с синаптика (при этом удалить конфиги тех программ в домашней дирректории)


Оффлайн
Mans

От простого пользователя приложение запускается, что с терминала, что с меню приложений. Приложения имеют обычно 2 ярлыка, первый обычный режим а второй — режим суперпользователя. Так вот это значок суперпользователя то и не работает. В свойствах ярлыка режима суперпользователя например написано:


bulatus

поставьте пакеты libgksu2-0 и gksu и еще раз попробуйте


Оффлайн
Mans

Оба пакета установлены и стоит самая последняя версия (вот что выдало при установки).


bulatus

вот почему у Вас gksu не работает не знаю

давайте так, попробуйте запустить в терминале например gksu synaptic

« Последнее редактирование: 14 Апреля 2010, 12:11:53 от bulatus »


Оффлайн
Mans

  • 1ый в меню\стандартные (просто «luckyBackup»), код:

su-to-root -X -c /usr/bin/luckybackup

с 1го ярлыка программа запускается, а на втором ругается, пробовал ставить вместо su-to-root -> gksu, в итоге программа начинает грузиться и ничего не выходит, я конечно понимаю что там какие то ещё параметры заданы, может из-за них. Но в некоторых приложениях создается вообще только один ярлык с кодом su-to-root xxxx. И сколько я таких приложений не ставил, после замены su-to-root на sudo, они у меня просто начинали грузиться и ничего не выходило.
Заранее извиняюсь, если я чего то просто недопонимаю и всё так и должно быть. Но я думал, что если ставить с Центра приложений Ubuntu, то никаких ярлыков переименовывать не придется, разве они уже не должны быть заточены под Ubuntu?


bulatus

« Последнее редактирование: 15 Апреля 2010, 12:19:00 от bulatus »


Оффлайн
Mans

Спасибо почитал, разницу понял :) раньше об этом просто не задумывался.
Права стоят: -rwxr-xr-x


Listen to this article

Каждый пользователь, рано или поздно сталкивается с определенными проблемами в своей операционной системе Linux. Это может быть просто неправильное использование команд или их непонимание, так и такие серьезные ошибки Linux, как отсутствие драйверов, неработоспособность сервисов зависание системы и так далее. Linux очень сильно отличается от WIndows, это заметно также при возникновении проблем Linux. Вот допустим, произошла ошибка в программе Windows, она полностью закрывается или выдает непонятное число с кодом ошибки и все, вы можете только догадываться или использовать поиск Google, чтобы понять что произошло. Но в Linux все совсем по-другому.

Более того, если программу запускать из терминала, то все ошибки linux и предупреждения мы увидим прямо в окне терминала. и сразу можно понять что нужно делать.

Причем вы сможете понять что произошло, даже не зная английского. Главным признаком ошибки есть слово ERROR (ошибка) или WARNING (предупреждение). Рассмотрим самые частые сообщения об ошибках:

  • Permission Denied — нет доступа, означает что у программы нет полномочий доступа к определенному файлу или ресурсу.
  • File or Directory does not exist — файл или каталог не существует
  • No such file or Directory — нет такого файла или каталога
  • Not Found — Не найдено, файл или ресурс не обнаружен
  • Connection Refused — соединение сброшено, значит, что сервис к которому мы должны подключиться не запущен
  • is empty — означает, что папка или нужный файл пуст
  • Syntax Error — ошибка синтаксиса, обычно значит, что в конфигурационном файле или введенной команде допущена ошибка.
  • Fail to load — ошибка загрузки, означает что система не может загрузить определенный ресурс, модуль или библиотеку (fail to load library) обычно также система сообщает почему она не может загрузить, permission denied или no such file и т д.

Сообщения об ошибках, кроме терминала, мы можем найти в различных лог файлах, все они находятся в папке /var/log, мы рассматривали за какие программы отвечают определенные файлы в статье просмотр логов linux. Теперь же мы подробнее рассмотрим где и что искать если linux выдает ошибку.


Монтирование NTFS раздела от Windows 10 в Linux

Windows is hibernated, refused to mount.
Failed to mount ‘/dev/sda2’: Операция не позволена
The NTFS partition is in an unsafe state. Please resume and shutdown
Windows fully (no hibernation or fast restarting), or mount the volume
read-only with the ‘ro’ mount option.

sudo mount -t ntfs-3g -o remove_hiberfile /dev/sda2 /mnt

The disk contains an unclean file system (0, 0).
Metadata kept in Windows cache, refused to mount.
Failed to mount ‘/dev/sdb5’: Operation not permitted
The NTFS partition is in an unsafe state. Please resume and shutdown
Windows fully (no hibernation or fast restarting), or mount the volume
read-only with the ‘ro’ mount option.

sudo ntfsfix /dev/sda3

Отключение режима гибернации в винде

powercfg /h off


Нет места, но место есть.

Проблема: ПО пишет, что закончилось место на диске, при этом df -h показывает, что место все-таки есть.

Решение: Надо проверить свободный айноды. df -hTi. Возможно их забили мелкие файлы.


Команда смены владельца и группы владельцев для директории и всех поддиректорий с файлами


FTP сервер на Ubuntu server

Установить
sudo apt-get install vsftpd

Правим конфигурацию
sudo nano /etc/vsftpd.conf

Если надо анонимный доступ
anonymous_enable=Yes

чтение и правка файлов
local_enable=YES
write_enable=YES

Ограничить домашним каталогом. Создаем список пользователй
sudo nano /etc/vsftpd.chroot_list

папка входа по умоланию
local_root=/var/www

Права на файлы
#002 — 775; 022 — 755
local_umask=002

рестарт
sudo service vsftpd restart

Раскомментируем строчку
umask 002


Расширить диск виртуальной машины KVM и VirtualBox

1)KVM
sudo qemu-img resize /home/vm/disk.img +10G

2)VirtualBox
«C:\Program Files\Oracle\VirtualBox\VBoxManage.exe» modifyhd D:\vbox\xubuntu.vdi —resize 25000

на вируалке
sudo apt-get install gparted
sudo swapoff /dev/vda5
sudo -X gparted


авторизация SSH без пароля

на своей машине
ssh-keygen -t rsa

в папке /home/имя пользователя/.ssh/id_rsa и id_rsa.pub появятся ключи
копируем на сервер

на сервере
chmod 600 ~/.ssh/authorized_keys


Firefox средняя кнопка мыши не работает как прокрутка

Решение: Правка — > Настройка — > Дополнительные — > Общие — > Использовать автоматическую прокрутку


Проброс портов iptables

$EXT_R_IP — внешний IP роутера
$LOCAL_IP — внутренний «фэйковый» адрес машины, которую надо «выкидывать» наружу
$PORT1 — Порт, на который будут заходить извне и попадать на локальную машину
$PORT2 — Порт, который «выбрасывается» наружу(например, 80 — http, либо 21 — ftp)

На роутере говорим следующие команды(от рута)
iptables -t nat -A PREROUTING -i eth0 -p tcp -d $EXT_R_IP —dport $PORT1 -j DNAT —to-destination $LOCAL_IP:$PORT2
iptables -A FORWARD -i eth0 -d $LOCAL_IP -p tcp —dport $PORT2 -j ACCEPT


Примонтировать флешку Ubuntu Linux

dpkg -i 1c-enterprise83-common_8.3.6-2390_amd64.deb
dpkg -i 1c-enterprise83-server_8.3.6-2390_amd64.deb
dpkg -i 1c-enterprise83-ws_8.3.6-2390_amd64.deb


Google Chrome не предлагает сохранить пароли

Если Google Chrome не предлагает сохранить пароли и не использует автозаполнение, то причина может быть в том, что эти опции отключены в настройках. Для их включения перейдите во вкладку chrome://settings/, либо в меню выберите пункт «Настройки»:

На открывшейся странице в разделе «Автозаполнение» выберите пункт «Пароли»:

В открывшемся окне включите две опции:

  • Предлагать сохранение паролей
  • Автоматический вход (Автоматически входить на сайты с помощью сохраненного имени пользователя и пароля. Когда функция отключена, эти данные нужно вводить при каждом входе)

После этого автоматический вход и сохранение пароли должны начать работать.


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *