- unixforum.org
- Не запускаются приложения
- Не запускаются приложения
- Re: Не запускаются приложения
- Re: Не запускаются приложения
- Re: Не запускаются приложения
- Re: Не запускаются приложения
- Re: Не запускаются приложения
- Re: Не запускаются приложения
- Re: Не запускаются приложения
- Что делать, если программа не работает
- Содержание
- Кратко
- Кто сломал программу?
- Что делать с ошибкой?
- Где именно сломалось?
- Как устранить проблему?
- Где именно сломалось, для опытных пользователей
- Не запускаются программы
- Почему не запускаются приложения?
- Как запустить программу на Linux
- Виды программ в Linux
- Запуск программ в терминале
- Запуск программ от имени другого пользователя
- Как запустить программу в фоне
- Как запустить скрипт в Linux
- Запуск программ Linux в графическом интерфейсе
- Выводы
unixforum.org
Форум для пользователей UNIX-подобных систем
- Темы без ответов
- Активные темы
- Поиск
- Статус форума
Не запускаются приложения
Не запускаются приложения
Re: Не запускаются приложения
Сообщение Nelex » 26.04.2008 16:50
Re: Не запускаются приложения
Сообщение Aectann » 26.04.2008 22:25
Re: Не запускаются приложения
Re: Не запускаются приложения
Сообщение nettt » 27.04.2008 13:40
Re: Не запускаются приложения
Сообщение KernelPanic » 27.04.2008 14:09
Re: Не запускаются приложения
Сообщение RasenHerz » 27.04.2008 16:12
эмулятор терминала хоть пашет? если да, то попробуй запустить прогу в нем и запости здесь все сообщения, которые будут выведены.
P.S. ты случаем какие-либо системные библиотеки не обновлял? к примеру, libstdc?
Re: Не запускаются приложения
Сообщение AntVA » 27.04.2008 20:44
У меня более забавный баг, может, кто скажет, как починить?
xine НЕ запускается из ком.строки, пишет:
This is xine (X11 gui) — a free video player v0.99.5cvs.
© 2000-2006 The xine Team.
Segmentation fault
При этом через Alt+F2 или контекстное меню всё прекрасно работает.
Из ком.строки хочется запускать, когда субтитры отдельным файлом и сами не подключаются.
Теперь вот приходится гадать, когда с сообщением Segmentation fault на работают сторонние проги — у них баг, как и у xine или что-то иное?
Источник
Что делать, если программа не работает
Содержание
Кратко
- убедитесь, что ошибка вызвана не вашими некорректными действиями
- повесьте баг в Багзиллу
- попробуйте локализовать и устранить ошибку самостоятельно
Да, такое иногда случается даже в Линукс: вы запускаете какую-то программу, а она не запускается. Или делаете какое-то совершенно безобидное действие в программе, и она вдруг закрывается. Тогда не исключено, что вы нашли ошибку в программе.
Кто сломал программу?
Первым делом вам надо убедиться, что это не вы «сломали» программу. Например, если вы недавно вручную отредактировали конфигурационные файлы программы (даже если вы считаете на 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 хранят свои настройки в
/.kde/share/apps или других каталогах в каталоге
/.kde4 для KDE4). Если вы не знаете, где именно находятся настройки, то создайте нового пользователя, залогиньтесь им, и попробуйте запустить подозрительную программу.
Где именно сломалось, для опытных пользователей
Иногда локализовать ошибку помогает использование программы strace . Особенно хорошо работает для обнаружения проблем с правами доступа к файлам (устройствам), необходимым для работы программы.
Источник
Не запускаются программы
Здравствуйте.
Являюсь пользователем компьютеров на уровне домохозяйки. Имеется железо Asus K52F P6200/int. На нем установлена
[email protected]:
$ uname -a
Linux ghopper-K52F 2.6.38-11-generic #48-Ubuntu SMP Fri Jul 29 19:05:14 UTC 2011 i686 i686 i386 GNU/Linux
[email protected]:
$ lspci
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 18)
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 18)
00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)
00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06)
00:1c.2 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 3 (rev 06)
00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 06)
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)
00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 06)
00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 4 port SATA AHCI Controller (rev 06)
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)
00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 06)
02:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01)
04:00.0 System peripheral: JMicron Technology Corp. SD/MMC Host Controller (rev 80)
04:00.2 SD Host controller: JMicron Technology Corp. Standard SD Host Controller (rev 80)
04:00.3 System peripheral: JMicron Technology Corp. MS Host Controller (rev 80)
04:00.4 System peripheral: JMicron Technology Corp. xD Host Controller (rev 80)
04:00.5 Ethernet controller: JMicron Technology Corp. JMC250 PCI Express Gigabit Ethernet Controller (rev 03)
ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 05)
ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 05)
ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 05)
ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 05)
ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 05)
ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 05)
Проблема в следующем: после продолжительного аптайма (сутки-полтора) в оконном менеджере перестают запускаться программы. Тыкаю на нужную иконку в меню «Пуск», курсор мыши символизирует запуск выбранного приложения, но само приложение так и не запускается (или запускается, но спустя несколько часов).
Прошу помощи в решении описанной проблемы. Какие логи мониторить? Куда копать? Чем лечить?
Куда копать? Чем лечить?
Перезагрузкой же! =))
Источник
Почему не запускаются приложения?
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 просмотра
ну и что говорит:
journalctl -b -p3
ssd новый или на грани смерти ? SMART смотрели ?
в bios установлен режим AHCI для дисков ?
dmesg что говорит? обычно если есть железные проблемы, туда сыплются ошибки
Когда такое происходит, запускай приложения из терминала, и смотри сообщения об ошибке этого приложения.
Источник
Как запустить программу на Linux
По сути операционная система состоит из ядра и огромного набора программ, которые предназначены для выполнения различных задач, обслуживания системы и удовлетворения потребностей пользователя. Почти все взаимодействие пользователя и операционной системы выполняется с помощью программ. Поэтому новичкам важно понять как запустить программу на Linux, что происходит во время запуска и какие есть способы запуска.
Дальше мы рассмотрим виды программ, их запуск программ на Linux различными способами и другие полезные для новичков вещи, опытным пользователям это все и так уже известно.
Виды программ в Linux
Перед тем, как мы перейдем к запуску программ, нужно сначала понять что представляет из себя программа. В Linux программы отличаются от других файлов только тем, что для них установлен флаг исполняемости. Я уже подробно писал об этом в статье что такое исполняемость поэтому не буду повторяться.
Все программы можно поделить на несколько типов:
- Бинарные программы — содержат инструкции процессору уже готовые к выполнению, большинство программ находятся в таком формате, они быстрые и выполняются сразу же системой;
- Программы на байт-коде — это уже не процессорные инструкции, а инструкции определенной виртуальной машины, которая может их выполнять, без виртуальной машины такие команды не могут быть выполнены. Такие программы потребляют больше ресурсов, но тоже достаточно быстрые, их преимущество в том, что они могут выполняться без изменения везде где может работать виртуальная машина. К таким программам можно отнести программы на Java.
- Скриптовые программы — эти программы состоят из набора команд в виде обычного текста, которые выполняет специальный интерпретатор. Такие программы более медленные, но зато они проще в разработке и их код можно легко и быстро изменить.
А теперь перейдем к запуску программ.
Запуск программ в терминале
Изначально в операционных системах Unix и Linux не было графического интерфейса, поэтому программы запускались командами из терминала. Сейчас это тоже возможно и достаточно активно используется опытными пользователями. Синтаксис запуска программы выглядит таким образом:
/путь/к/файлу/программы параметры
Параметры указываются только, когда они нужны, но всегда оболочка должна знать полный путь к программе. Все что после имени программы и пробела — это параметры. Вы, наверное, уже заметили, что обычно мы не указываем полный путь при выполнении программ. Это было бы очень долго и неудобно.
Разработчики придумали обходной путь. Была создана переменная PATH, в которой хранятся все пути к папкам где обычно находятся программы — /bin, /sbin, /usr/bin, /usr/sbin и так далее. Вы можете посмотреть ее содержимое командой:
Когда вы набираете имя программы система ищет исполняемый файл с таким именем по всем папкам из PATH и если находит — то выполняет. Если же такого файла нет, то выдается сообщение — command not found. Таким образом, чтобы запустить одну из системных программ достаточно набрать имя ее исполняемого файла, например:
И можно передать параметры после пробела:
Когда программа находится не в этих каталогах, нужно указать к ней полный путь:
Если же вы хотите запустить программу через терминал ubuntu, которая находится в текущей папке, то ситуация будет немного другой. Система выполняет только поиск по папкам из переменной PATH, в текущей директории она не ищет. Поэтому, если вы наберете имя исполняемого файла, то получите ошибку. Нужно указывать полный путь, как вы помните путь к текущей папке будет ./:
Иногда возникает необходимость передать программе, какие-либо особые переменные окружения. Например, переменная EDITOR указывает какой текстовый редактор нужно использовать по умолчанию. Вы можете указать имя переменной и ее значение перед именем команды используя синтаксис:
имя_переменной = значение команда
По умолчанию эта команда открывает настройки утилиты sudo в редакторе Vim, но с этой переменной окружения настройки откроются в редакторе nano.
Запуск программ от имени другого пользователя
Вы уже знаете как запустить программу в терминале linux, а что насчет других пользователей? В Windows достаточно часто используется запуск программ от имени администратора чтобы программа могла получить больше прав доступа в системе. В Linux для этого используется утилита sudo. Ее имя можно расшифровать как switchuserdo — изменить пользователя и выполнить. По умолчанию утилита выполняет команду от имени суперпользователя root:
sudo команда
sudo whoami
Но с помощью опции -u можно выполнить программу от имени любого пользователя, зарегистрированного в системе:
sudo -u имя_пользователя команда
sudo -u postgres whoami
Команда whoami (кто я) выводит имя текущего пользователя.
Как запустить программу в фоне
Иногда возникает необходимость запустить долго выполняющуюся программу в терминале так, чтобы она не мешала дальше работать. Для этого можно использовать запуск программы в фоновом режиме linux:
dd if=/dev/zero of=
Система выведет PID, уникальный идентификатор программы, который вы потом можете использовать чтобы закрыть ее командой kill:
Как запустить скрипт в Linux
Мы уже говорили, что программы делятся на бинарные и интерпретируемые. Раньше мы говорили только про бинарные программы. Для запуска интерпретируемых нужен непосредственно интерпретатор, к таким программам относятся написанные на таких языках, как Java, Python, Perl, Ruby, PHP, NodeJS и многих других. Синтаксис запуска такой программы отличается:
интерпретатор /путь/к/файлу/программы параметры
Разные интерпретаторы ведут себя по разному, поэтому лучше сразу указывать полный путь к программе. Python обычно подхватывает скрипты из текущей папки без указания полного пути:
А Java программы нужно запускать так:
java -jar program.jar
Для файлов интерпретируемых программ флаг исполняемости необязательный, поскольку они передаются в виде параметра основной программе. Только Bash скрипты составляют исключение. Вы можете запустить скрипт интерпретатором:
Или же просто набрать путь к скрипту:
Оболочка сама определяет свои скрипты по флагу исполняемости и выполняет их. Если флаг исполняемости не установлен, то его стоит добавить:
sudo chmod u+x ./script.sh
Поэтому то и для большинства интерпретируемых программ созданы простые sh скрипты которыми их можно быстро запустить.
Запуск программ Linux в графическом интерфейсе
Намного удобнее запускать программы через графический интерфейс. Если консольные программы так запускать невозможно, то для всех графических утилит существуют ярлыки, которые вы можете найти в главном меню системы:
Кроме того, вы можете запустить программу из файлового менеджера, двойным кликом мышью, но тогда для нее обязательно должен быть установлен флаг исполняемости.
Точно так же работает запуск скриптов в графическом интерфейсе. Вы можете найти все ярлыки из меню в каталоге /usr/share/applications/. Любую программу можно запустить двойным щелчком отсюда. Но давайте посмотрим что находится внутри ярлыка, для этого откройте его в текстовом редакторе:
Кроме всего прочего, в строке Exec указана команда, которая выполняет запуск программы linux, когда вы делаете двойной клик на ярлыке. Вы можете взять один из существующих ярлыков и сделать на его основе свой. Здесь указано просто имя программы. Но важно заметить, что лучше указывать полный путь в таких местах, как ярлыки, скрипты, cron и так далее это уменьшит количество ошибок, поскольку вы не можете знать проверяет ли система в этом случае PATH или ищет программу только в текущем каталоге. Теперь вы знаете все о том как запустить программу на linux.
Выводы
В этой статье мы рассмотрели как запустить программу через терминал ubuntu или в других дистрибутивах Linux. Несмотря на то, что это кажется очень простой темой, тут есть свои интересные моменты, которые могут быть полезны. Но вы о них уже знаете. Если у вас остались вопросы, спрашивайте в комментариях!
Источник