What does 'script /dev/null' do?





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







20















Every time I log into a VM with root, su into a user account, and try to use screen it throws an error:



Cannot open your terminal '/dev/pts/0' - please check.


A Stack Overflow post said I needed to use script /dev/null to fix it, and it works, but it still doesn't explain why I need to type script /dev/null. I would like to understand what it does and why I need to type it.










share|improve this question









New contributor




CJL is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 2





    > A Stack Overflow post said – it might be helpful if you also add a link to that post, maybe in a comment.

    – törzsmókus
    Apr 9 at 11:01


















20















Every time I log into a VM with root, su into a user account, and try to use screen it throws an error:



Cannot open your terminal '/dev/pts/0' - please check.


A Stack Overflow post said I needed to use script /dev/null to fix it, and it works, but it still doesn't explain why I need to type script /dev/null. I would like to understand what it does and why I need to type it.










share|improve this question









New contributor




CJL is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 2





    > A Stack Overflow post said – it might be helpful if you also add a link to that post, maybe in a comment.

    – törzsmókus
    Apr 9 at 11:01














20












20








20








Every time I log into a VM with root, su into a user account, and try to use screen it throws an error:



Cannot open your terminal '/dev/pts/0' - please check.


A Stack Overflow post said I needed to use script /dev/null to fix it, and it works, but it still doesn't explain why I need to type script /dev/null. I would like to understand what it does and why I need to type it.










share|improve this question









New contributor




CJL is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












Every time I log into a VM with root, su into a user account, and try to use screen it throws an error:



Cannot open your terminal '/dev/pts/0' - please check.


A Stack Overflow post said I needed to use script /dev/null to fix it, and it works, but it still doesn't explain why I need to type script /dev/null. I would like to understand what it does and why I need to type it.







terminal gnu-screen su pty






share|improve this question









New contributor




CJL is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




CJL is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited Apr 9 at 11:47









törzsmókus

1156




1156






New contributor




CJL is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked Apr 8 at 16:04









CJLCJL

1036




1036




New contributor




CJL is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





CJL is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






CJL is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








  • 2





    > A Stack Overflow post said – it might be helpful if you also add a link to that post, maybe in a comment.

    – törzsmókus
    Apr 9 at 11:01














  • 2





    > A Stack Overflow post said – it might be helpful if you also add a link to that post, maybe in a comment.

    – törzsmókus
    Apr 9 at 11:01








2




2





> A Stack Overflow post said – it might be helpful if you also add a link to that post, maybe in a comment.

– törzsmókus
Apr 9 at 11:01





> A Stack Overflow post said – it might be helpful if you also add a link to that post, maybe in a comment.

– törzsmókus
Apr 9 at 11:01










1 Answer
1






active

oldest

votes


















27














You cannot open /dev/pts/0 because it's owned by root, and after you su-ed into another user you're no longer able to open it via its path, but you're still able to use it via the opened handle to it, which was inherited from the parent process.



script /dev/null will create another pty, owned by the current user.



Anyways, that bug/limitation seems to have been fixed in recent versions of screen (eg. 4.99.0), which will correctly send the handle to the current terminal via the SCM_RIGHTS ancillary message on a unix domain socket, instead of sending just the name of the terminal and have the screen server try to open it (and fail). Same thing with tmux.






share|improve this answer


























    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "106"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });






    CJL is a new contributor. Be nice, and check out our Code of Conduct.










    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f511267%2fwhat-does-script-dev-null-do%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    27














    You cannot open /dev/pts/0 because it's owned by root, and after you su-ed into another user you're no longer able to open it via its path, but you're still able to use it via the opened handle to it, which was inherited from the parent process.



    script /dev/null will create another pty, owned by the current user.



    Anyways, that bug/limitation seems to have been fixed in recent versions of screen (eg. 4.99.0), which will correctly send the handle to the current terminal via the SCM_RIGHTS ancillary message on a unix domain socket, instead of sending just the name of the terminal and have the screen server try to open it (and fail). Same thing with tmux.






    share|improve this answer






























      27














      You cannot open /dev/pts/0 because it's owned by root, and after you su-ed into another user you're no longer able to open it via its path, but you're still able to use it via the opened handle to it, which was inherited from the parent process.



      script /dev/null will create another pty, owned by the current user.



      Anyways, that bug/limitation seems to have been fixed in recent versions of screen (eg. 4.99.0), which will correctly send the handle to the current terminal via the SCM_RIGHTS ancillary message on a unix domain socket, instead of sending just the name of the terminal and have the screen server try to open it (and fail). Same thing with tmux.






      share|improve this answer




























        27












        27








        27







        You cannot open /dev/pts/0 because it's owned by root, and after you su-ed into another user you're no longer able to open it via its path, but you're still able to use it via the opened handle to it, which was inherited from the parent process.



        script /dev/null will create another pty, owned by the current user.



        Anyways, that bug/limitation seems to have been fixed in recent versions of screen (eg. 4.99.0), which will correctly send the handle to the current terminal via the SCM_RIGHTS ancillary message on a unix domain socket, instead of sending just the name of the terminal and have the screen server try to open it (and fail). Same thing with tmux.






        share|improve this answer















        You cannot open /dev/pts/0 because it's owned by root, and after you su-ed into another user you're no longer able to open it via its path, but you're still able to use it via the opened handle to it, which was inherited from the parent process.



        script /dev/null will create another pty, owned by the current user.



        Anyways, that bug/limitation seems to have been fixed in recent versions of screen (eg. 4.99.0), which will correctly send the handle to the current terminal via the SCM_RIGHTS ancillary message on a unix domain socket, instead of sending just the name of the terminal and have the screen server try to open it (and fail). Same thing with tmux.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Apr 8 at 18:04

























        answered Apr 8 at 16:47









        mosvymosvy

        10k11236




        10k11236






















            CJL is a new contributor. Be nice, and check out our Code of Conduct.










            draft saved

            draft discarded


















            CJL is a new contributor. Be nice, and check out our Code of Conduct.













            CJL is a new contributor. Be nice, and check out our Code of Conduct.












            CJL is a new contributor. Be nice, and check out our Code of Conduct.
















            Thanks for contributing an answer to Unix & Linux Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f511267%2fwhat-does-script-dev-null-do%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Plaza Victoria

            Puebla de Zaragoza

            Musa