Bug 25106

Summary: не уважает TMPDIR
Product: Sisyphus Reporter: Nick S. Grechukh <gns>
Component: screenAssignee: Gleb F-Malinovskiy <glebfm>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: major    
Priority: P3 CC: aen, alex, at, barabashka, dd1email, evg, glebfm, ildar, naf, radik, vsu, vvk
Version: unstable   
Hardware: all   
OS: Linux   

Description Nick S. Grechukh 2011-02-17 20:13:29 MSK
Игнорирует TMPDIR, что, в свете новых веяний #6323, приводит к :

[root@eeelive ~]# useradd test

[root@eeelive ~]# su - test

[test@eeelive ~]$ echo $TMP
/tmp/.private/test

[test@eeelive ~]$ ls -la tmp
ls: cannot access tmp: No such file or directory

[test@eeelive ~]$ screen
Cannot access /home/test/tmp/screen: No such file or directory
Comment 1 Nikolay A. Fetisov 2011-03-05 09:59:56 MSK
BTW:  Текущее поведение (использование ~/tmp/screen/) - ALT-специфично, задаётся патчем и описано в README.ALT. Заодно там в 12ой строке опечатка, 
"... in SCREENDIR _ebvironment_ ...".
Comment 2 Dmitry V. Levin 2011-03-05 21:51:15 MSK
(In reply to comment #1)
> BTW:  Текущее поведение (использование ~/tmp/screen/) - ALT-специфично,
> задаётся патчем и описано в README.ALT.

Там, кстати, написано, почему небезопасно использовать общедоступный каталог вроде /tmp вместо $TMPDIR.
Какой каталог лучше использовать в случае если переменная $TMPDIR не определена, или если она определена неправильно?  Традиционный ~/.screen/ ?

> Заодно там в 12ой строке опечатка, "... in SCREENDIR _ebvironment_ ...".

Заодно и это надо исправить.
Comment 3 Dmitry V. Levin 2011-04-13 01:18:45 MSK
Комментариев не поступило.
Есть еще один вариант: использовать $XDG_RUNTIME_DIR вместо $TMPDIR.
Comment 4 Nick S. Grechukh 2011-04-14 13:53:23 MSK
> Какой каталог лучше использовать в случае если переменная $TMPDIR не
> определена, или если она определена неправильно?  Традиционный ~/.screen/ ?

Да. Если его не существует - создавать.
Comment 5 Sergey Vlasov 2011-04-14 22:48:09 MSK
(В ответ на комментарий №2)
> Какой каталог лучше использовать в случае если переменная $TMPDIR не
> определена, или если она определена неправильно?  Традиционный ~/.screen/ ?

Нашлись любители странного, у которых такой вариант не работает:
https://bugzilla.redhat.com/show_bug.cgi?id=676663

(В ответ на комментарий №3)
> Есть еще один вариант: использовать $XDG_RUNTIME_DIR вместо $TMPDIR.

Однако в спецификации записано, что $XDG_RUNTIME_DIR удаляется после выхода пользователя из системы - для screen это годится только в том случае, если активный сеанс screen будет учитываться при очистке.
http://www.spinics.net/lists/fedora-devel/msg148315.html
Comment 6 Dmitry V. Levin 2011-04-15 00:48:47 MSK
(In reply to comment #5)
> (В ответ на комментарий №2)
> > Какой каталог лучше использовать в случае если переменная $TMPDIR не
> > определена, или если она определена неправильно?  Традиционный ~/.screen/ ?
> 
> Нашлись любители странного, у которых такой вариант не работает:
> https://bugzilla.redhat.com/show_bug.cgi?id=676663

Специально для любителей странного есть $SCREENDIR.
Нам нужно реализовать безопасное и удобное поведение по умолчанию.

> (В ответ на комментарий №3)
> > Есть еще один вариант: использовать $XDG_RUNTIME_DIR вместо $TMPDIR.
> 
> Однако в спецификации записано, что $XDG_RUNTIME_DIR удаляется после выхода
> пользователя из системы - для screen это годится только в том случае, если
> активный сеанс screen будет учитываться при очистке.
> http://www.spinics.net/lists/fedora-devel/msg148315.html

Значит, $XDG_RUNTIME_DIR отпадает.
Comment 7 Repository Robot 2011-12-01 07:29:18 MSK
screen-4.0.3-alt9 -> sisyphus:

* Thu Dec 01 2011 Dmitry V. Levin <ldv@altlinux> 4.0.3-alt9
- Added a %preun script removing hardlinks created in %post script.
- Moved screen sockets to /var/run/screen/ (closes: #25106).
Comment 8 Andrey Cherepanov 2012-02-17 16:41:55 MSK
*** Bug 22303 has been marked as a duplicate of this bug. ***