zoukankan      html  css  js  c++  java
  • tmux frequently asked questions

    tmux frequently asked questions

    How is tmux different from GNU screen?

        tmux and GNU screen have many similarities. Some of the main differences I am aware of are (bearing in mind I haven't used screen for a few years now):
        1) tmux uses a client-server model. Each server has single Unix domain socket in   /tmp and within one server there are multiple sessions which may be attached  to multiple clients (terminals).
        This has advantages, notably: windows may be linked simultaneously to multiple sessions; windows may be moved freely between sessions; and a client may be switched between sessions easily (C-b D). There is one major disadvantage: if the server crashes, game over, all sessions die. In practice, however, tmux is quite stable and gets more so as people report any bugs they hit :-). 
        This model is different from screen, where typically each new screen instance is independent. tmux supports the same behaviour by using multiple servers with the -L option but it is not typically recommended.
        2) Different command interfaces. One of the goals of tmux is that the shell should be easily usable as a scripting language - almost all tmux commands can be used from the shell and behave identically whether used from the shell, from a key binding or from the command prompt. Personally I also find tmux's command interface much more consistent and clearer, but this is subjective.
        3) tmux calls window names (what you see in the status line) "names", screen calls them "titles".
        4) tmux has a multiple paste buffers. Not a major one but comes in handy quite a lot.
        5) tmux supports automatically renaming windows to the running application without gross hacks using escape sequences. Its even on by default.
        6) tmux has a choice of vi or emacs key layouts. Again, not major, but I use emacs so if tmux did support only one key set it would be emacs and then all the vi users would get humpy. Key bindings may be completely reconfigured in any case.
        7) tmux has an option to limit the window size.
        8) tmux has search in windows (C-b f).
        9) The window split (pane) model is different. tmux has two objects, windows and panes; screen has just windows. This difference has several implications
    1. In screen you can have a window appear in several layouts, in tmux a pane can only be in one window (fixing this is a big todo item but quite invasive).
    2. tmux layouts are immutable and do not get changed unless you modify them.
    3. In tmux, all panes are closed when you kill a window.
    4. tmux panes do not have individual names, titles and so on.
        I think tmux's model is much easier to manage and navigate within a window, but breaking panes off from and joining them to windows is more clumsy.
        tmux also has support for preset pane layouts.
        10) tmux's status line syntax is more readable and easier to use. I think it'd be hard for anyone to argue with this. tmux doesn't support running a command constantly and always using the last line of its output, commands must be run again each time.
        11) tmux has modern, easily extended code. Again hard to argue screen is better if you have looked at the code.
        12) tmux depends on libevent. I don't see this as a disadvantage: libevent is small and portable, and on modern systems with current package management systems dependencies are not an issue. libevent brings advantages in code simplicity and performance.
        13) screen allows the window to be bigger than the terminal and can pan around it. tmux limits the size to the largest attached client. This is a big todo item for tmux but it is not trivial.
        14) screen has builtin serial and telnet support; this is bloat and is unlikely to be added to tmux.
        15) Environment handling is different.
        16) tmux tends to be more demanding on the terminal so tends to show up terminal and application bugs which screen does not. 
        17) screen has wider platform support, for example IRIX, and for odd terminals.

    Why is C-b the prefix key? How do I change it?

    How do I use UTF-8?

    How do I make Ctrl-PgUp and Ctrl-PgDn work in vim?

    参考

     
  • 相关阅读:
    operator模块和functools模块
    函数注解
    用户定义的可调用类型、从定位参数到仅限关键字参数
    可调用对象
    nxos启动的初始化和https访问nx-api
    网络安全基础之网络协议与安全威胁
    华为AC中服务集命令解释配置
    转:图解ARP协议(四)代理ARP原理与实践(“善意的欺骗”)
    windows下python3 python2 共存下安装virtualenvwrapper
    关于网络安全学习的网站
  • 原文地址:https://www.cnblogs.com/fireway/p/5882588.html
Copyright © 2011-2022 走看看