У вас возникает проблема, потому что вы пытаетесь обрабатывать файл php-5.6.31.tar.gz
как сжатый файл bzip2. Хотя фактический файл представляет собой сжатый файл gzip.
Измените tar -xvjpf php-5.6.31.tar.gz
на tar -xvzf php-5.6.31.tar.gz
, и это должно решить вашу проблему.
Вместо этого вы можете использовать команду sudoedit
.
EDITOR=gedit sudoedit filename.txt
при этом берется копия файла, затем редактор запускается как вы, а затем, если он обнаруживает, что файл был изменен, копирует результаты обратно.
В большинстве случаев имеет тот же эффект, что и sudo gedit filename.txt
, но он запускает редактор без привилегий, и ваша X-пересылка должна работать.
Просто для объяснения, когда вы запускаете sudo
, он сбрасывается множество переменных окружения, включая $ HOME
, который сбрасывается в HOME root (вероятно, / root
). Когда вы запускаете свою программу X11, ей требуется волшебный файл cookie XAUTHORITY, чтобы он мог подключиться к ДИСПЛЕЮ. Соответствующий файл cookie будет помещен с помощью ssh -X
в ~ / .Xauthority
на удаленном компьютере при подключении.
Но после sudo ваша программа X11 будет искать в /root/.Xauthority
, и поэтому не получит никаких файлов cookie или старых устаревших файлов cookie.
Следовательно, вы видите сообщения неправильной аутентификации . Существует несколько решений для сохранения или восстановления $ HOME
после sudo, но для вашего конкретного случая разумнее всего использовать sudoedit
, как в другом ответе.