Как выполнить startx как некорневой?

Обновленный 04.12.2017. (Добавляющий - обрабатывают в пакетном режиме для предотвращения подсказки пароля),

Вам, вероятно, придется добавить --batch опция:

От версии 2 GPG, опция --batch необходим для обеспечения подсказки... Хорошо, смотря это:

$ gpg --version
gpg (GnuPG) 2.1.18
libgcrypt 1.7.6-beta
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Home: /home/user /.gnupg
Supported algorithms:
Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
        CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2

Попытка:

$ newdir=$(mktemp -d)
$ cd $newdir
$ seq 1 10 | gpg -c --batch --passphrase 1234 -o file.gpg -
$ ls -ltr
total 4
-rw-r--r-- 1 user  user  91 Dec  4 15:42 file.gpg
$ hd file.gpg 
00000000  8c 0d 04 07 03 02 ea fa  d0 d3 2b 9a ea 06 df d2  |..........+.....|
00000010  4a 01 ed 50 74 ff 27 45  0e 6c 94 74 db e9 8a a5  |J..Pt.'E.l.t....|
00000020  03 9f 67 a0 73 97 e9 15  6b 56 a0 f0 88 71 85 a8  |..g.s...kV...q..|
00000030  dc 41 71 9f fa 3b f9 9d  af ac 80 eb f4 f7 28 19  |.Aq..;........(.|
00000040  9f be 75 47 e6 d8 00 3e  f6 60 f1 00 5e 63 57 ef  |..uG...>.`..^cW.|
00000050  14 c3 4b 20 ff 94 03 03  c1 fc 98                 |..K .......|
0000005b

звуковая польза! Ну, теперь:

$ gpg -d --batch --passphrase 1234 file.gpg
gpg: AES encrypted data
gpg: encrypted with 1 passphrase
1
2
3
4
5
6
7
8
9
10

В то время как нет -d параметр дан (тот же syntaxe как вопрос SO), дешифрованные данные из file.gpg будет извлечен к новому file.

$ gpg --batch --passphrase 1234 file.gpg
gpg: WARNING: no command supplied.  Trying to guess what you mean ...
gpg: AES encrypted data
gpg: encrypted with 1 passphrase

$ ls -ltr
total 8
-rw-r--r-- 1 user  user  91 Dec  4 15:42 file.gpg
-rw-r--r-- 1 user  user  21 Dec  4 15:44 file

$ cat file
1
2
3
4
5
6
7
8
9
10

Эта работа хорошо!

$ cd -
$ rm -fR $newdir
$ unset newdir
9
21.11.2013, 00:59
3 ответа

Сначала разъяснение, X не менеджер окон, это - система управления окнами.

Теперь, ~/.Xauthority файл просто где идентификационные учетные данные для текущего пользователя Xсессия хранится, это - чтение файла, когда система должна определить, имеете ли Вы право использовать ток X сессия.

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

$ rm ~/.Xauthority; startx
10
27.01.2020, 20:06
  • 1
    Tredon, даже после удаления.Xauthority файл. Я неспособен к starx. Это продолжает отображать ту же самую ошибку. –  Habi 20.11.2013, 15:51
  • 2
    @Habi необходимо удостовериться, там не является никаким выполнением X сессий, затем удаляет файл, затем работает startx снова. –  terdon♦ 20.11.2013, 15:57
  • 3
    Теперь, X выполнений, но дисплеи другое сообщение Вызов к Inusertemp перестали работать (временные полные каталоги?). Проверьте свою установку. –  Habi 20.11.2013, 15:57
  • 4
    @Habi ах, хороший, это - прогресс :). Отправьте другой вопрос для этого, так как это - совершенно другая проблема. В новом вопросе покажите нам вывод df -h и также удостоверьтесь, что эта проблема все еще там после перезапускает. –  terdon♦ 20.11.2013, 16:01
  • 5
    Tredon, ya я рассмотрю тот прогресс. :). Btw, спасибо. –  Habi 20.11.2013, 16:04

Я думаю, проблема в том, что люди входят в систему как root, а затем переключают пользователей, используя su -l имя пользователя, что создает/порождает подпроцесс под root, принадлежащий «username». X будет использовать .Xauthority верхнего процесса (в данном случае root), на использование которого «имя пользователя» нет разрешения.

Будет показана ошибка:

Cannot open virtual console 1 (Permission denied).

Чтобы решить эту проблему, просто запустите login вместо su, чтобы запустить новую оболочку в качестве основного процесса.

5
27.01.2020, 20:06

Я столкнулся с этим на Lenovo IdeaPad с двумя графическими картами, одна от Intel, другая от Nvidia.

Ошибка в результате startxвключала эту строку:

addscreen/screeninit failed for driver 0 kde plasma

Это было решением:

  1. Измените /etc/mkinitcpio.conf, добавивMODULES=(nouveau)
  2. sudo mkinitcpio -p linux
  3. перезагрузка
0
08.02.2020, 09:01

Теги

Похожие вопросы