LINUX.ORG.RU

Как заигнорить ошибку /etc/profile?

 ,


0

1

При включении компа стал получать вместо рабочего стола ошибку error found when loading /etc/profile в виде окна в котором можно нажать на ОК, и загрузка пойдёт дальше.

/bin/bash -l выдаёт это (в сообщении перед загрузкой текст тот же):

========================================================================
Ubuntu 20.04 'focal' reached end-of-life for general support in May 2025.

The packages in the Flatpak PPAs for Ubuntu 20.04 will not necessarily
be updated, even if there are security vulnerabilities. Please upgrade
to a newer LTS branch of Ubuntu.
========================================================================

Т.е. похоже «ошибка» состоит в том, что моя система устарела. Я про это конечно же в курсе и пока что не могу переустановить на свежачок. Как заставить систему игнорить эту «ошибку» и загружать как раньше рабочий стол без всяких «угроз»? Про это инфы в гугле не нашёл.

Система Linux Mint 20.2 Cinnamon

★

Найди файл в /etc/profile.d, который выполняет проверку на эту ошибку, и закомментируй её.

kaldeon ★★
()
Ответ на: комментарий от kostik87

Файл есть, права такие. Его содержимое вроде не связано с этим:

# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).

if [ "${PS1-}" ]; then
  if [ "${BASH-}" ] && [ "$BASH" != "/bin/sh" ]; then
    # The file bash.bashrc already sets the default PS1.
    # PS1='\h:\w\$ '
    if [ -f /etc/bash.bashrc ]; then
      . /etc/bash.bashrc
    fi
  else
    if [ "`id -u`" -eq 0 ]; then
      PS1='# '
    else
      PS1='$ '
    fi
  fi
fi

if [ -d /etc/profile.d ]; then
  for i in /etc/profile.d/*.sh; do
    if [ -r $i ]; then
      . $i
    fi
  done
  unset i
fi

В profile.d файлы тоже есть, но при беглом осмотре не увидел ничего подозрительного.

STinger ★
() автор топика
Ответ на: комментарий от STinger

Проверь, что нет строк с форматом конца строк \n, т.е. Windows, а все в формате \r\n - можешь сделать замену через утилиту dos2unix.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от kaldeon

ls /etc/profile.d

-rw-r--r-- 1 root root   96 дек  5  2019 01-locale-fix.sh
-rw-r--r-- 1 root root  729 фев  2  2020 bash_completion.sh
-rwxr-xr-x 1 root root  196 апр 17  2024 cprocsp.sh
-rw-r--r-- 1 root root   33 мар 15  2022 firefox.sh
-rw-r--r-- 1 root root  951 янв 21 14:19 flatpak.csh
-rw-r--r-- 1 root root  873 янв 21 14:19 flatpak.sh
-rw-r--r-- 1 root root 1107 ноя  3  2019 gawk.csh
-rw-r--r-- 1 root root  757 ноя  3  2019 gawk.sh
-rw-r--r-- 1 root root  349 окт 28  2020 im-config_wayland.sh
-rw-r--r-- 1 root root  999 июл 20  2021 libvirt-uri.sh
-rw-r--r-- 1 root root 1368 июн 11  2020 vte-2.91.sh
-rw-r--r-- 1 root root  966 июн 11  2020 vte.csh
-rw-r--r-- 1 root root  954 мар 26  2020 xdg_dirs_desktop_session.sh

cat /etc/bash.bashrc

# System-wide .bashrc file for interactive bash(1) shells.

# To enable the settings / commands in this file for login shells as well,
# this file has to be sourced in /etc/profile.

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, overwrite the one in /etc/profile)
# but only if not SUDOing and have SUDO_PS1 set; then assume smart user.
if ! [ -n "${SUDO_USER}" -a -n "${SUDO_PS1}" ]; then
  PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi

# Commented out, don't overwrite xterm -T "title" -n "icontitle" by default.
# If this is an xterm set the title to user@host:dir
#case "$TERM" in
#xterm*|rxvt*)
#    PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
#    ;;
#*)
#    ;;
#esac

# enable bash completion in interactive shells
#if ! shopt -oq posix; then
#  if [ -f /usr/share/bash-completion/bash_completion ]; then
#    . /usr/share/bash-completion/bash_completion
#  elif [ -f /etc/bash_completion ]; then
#    . /etc/bash_completion
#  fi
#fi

# sudo hint
if [ ! -e "$HOME/.sudo_as_admin_successful" ] && [ ! -e "$HOME/.hushlogin" ] ; then
    case " $(groups) " in *\ admin\ *|*\ sudo\ *)
    if [ -x /usr/bin/sudo ]; then
	cat <<-EOF
	To run a command as administrator (user "root"), use "sudo <command>".
	See "man sudo_root" for details.
	
	EOF
    fi
    esac
fi

# if the command-not-found package is installed, use it
if [ -x /usr/lib/command-not-found -o -x /usr/share/command-not-found/command-not-found ]; then
	function command_not_found_handle {
	        # check because c-n-f could've been removed in the meantime
                if [ -x /usr/lib/command-not-found ]; then
		   /usr/lib/command-not-found -- "$1"
                   return $?
                elif [ -x /usr/share/command-not-found/command-not-found ]; then
		   /usr/share/command-not-found/command-not-found -- "$1"
                   return $?
		else
		   printf "%s: command not found\n" "$1" >&2
		   return 127
		fi
	}
fi
STinger ★
() автор топика
Ответ на: комментарий от kostik87

Проверь, что нет строк с форматом конца строк \n, т.е. Windows, а все в формате \r\n - можешь сделать замену через утилиту dos2unix.

Так наоборот же! \n это юниксовый формат (LF), \r\n это виндовый (CRLF).

Bfgeshka ★★★★★
()
Ответ на: комментарий от kostik87

Нету, да и не менял я там ничего, тем более из венды.

Предполагаемые варианты, почему оно стало вылезать - по времени (истечение срока поддержки + сколько-то месяцев), при последнем запуске flatpak update оно могло что-то встроить, либо при последнем запуске обновления пакетов через менеджер обновлений (я недавно запускал чтобы обновить golang из подключенной сторонней репы, системные обновы конечно же оттуда больше не прилетают).

STinger ★
() автор топика
Ответ на: комментарий от kaldeon

В норме ни один из этих скриптов не должен выдавать никакого вывода? А если вывод есть, то он идёт в ошибку?

Клонировал flatpak.sh, сделал его исполняемым и запустил - он выдал этот текст ошибки. Сделал то же самое с libvirt-uri.sh - вывода не было.

STinger ★
() автор топика
Ответ на: комментарий от firkax

Я разумеется посмотрел) Там, если я правильно понял, установка переменных с XDG папками для флатпака. Поэтому решил запустить и посмотреть.

Его содержимое, если кому интересно:

# shellcheck shell=sh
if command -v flatpak > /dev/null; then
    # set XDG_DATA_DIRS to include Flatpak installations

    new_dirs=$(
        (
            unset G_MESSAGES_DEBUG
            echo "${XDG_DATA_HOME:-"$HOME/.local/share"}/flatpak"
            GIO_USE_VFS=local flatpak --installations
        ) | (
            new_dirs=
            while read -r install_path
            do
                share_path=$install_path/exports/share
                case ":$XDG_DATA_DIRS:" in
                    (*":$share_path:"*) :;;
                    (*":$share_path/:"*) :;;
                    (*) new_dirs=${new_dirs:+${new_dirs}:}$share_path;;
                esac
            done
            echo "$new_dirs"
        )
    )

    export XDG_DATA_DIRS
    XDG_DATA_DIRS="${new_dirs:+${new_dirs}:}${XDG_DATA_DIRS:-/usr/local/share:/usr/share}"

    unset new_dirs
fi

В общем запуск flatpak –installations и выдаёт эту ошибку.

STinger ★
() автор топика
Ответ на: комментарий от STinger

А если к этой строчке 2>> /dev/null дописать то рабочий стол запустится без ошибки уже? (если ты конечно не хочешь флатпак вообще снести)

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

Ага, поменял строчку на GIO_USE_VFS=local flatpak --installations 2>/dev/null, и всё пришло в норму.

STinger ★
() автор топика
Ответ на: комментарий от kostik87

Ну он был встроен в систему, и я что-то ранее нужное через него устанавливал (помимо телеграма). Разбираться на просроченной системе лень.

Кстати когда он стал какой? Раньше вроде snap какой звали и рекомендовали флатпак как нормальную альтернативу))

Кроме отсутствия нормального гуя (но может я плохо искал?) для управления пакетами я как-то особой каковости во флатпаке не заметил.

STinger ★
() автор топика
Ответ на: комментарий от STinger

Гуй есть, называется flatseal.

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

Bfgeshka ★★★★★
()
Ответ на: комментарий от Bfgeshka

flatseal

Поставил посмотреть - это не то что я хотел. Это софтина для модификации разрешений, что конечно же полезно, но категорически недостаточно для «нормального гуя».

Я бы хотел что-то вроде магазина приложений, где можно добавлять/удалять репы и ставить/обновлять приложения из них. Чтобы не лезть в енти ваши магические консоли и не стаптывать клаву набором заклинания flatpak update.

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

Конфигурировать - не занимался этим в принципе. С проблемами не особо сталкивался. Долгое время единственным приложением в нём был только телеграм (так как встроенный в Минт менеджер его оттуда поставил), с ним была проблема что не открывались ссылки t_me, потом вероятно при обновлениях пофиксилось само. Сейчас осталась проблема что при сохранении файла из него он предлагает сделать это не в загрузки, и даже не в хомяк, а в какую-то хрен пойми где располагающуюся папку. Но я это делаю так редко, что не особо раздражает.

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

STinger ★
() автор топика
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария