<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>GNU Screen on マスタカの ChangeLog メモ</title>
    <link>https://masutaka.net/tags/GNU-Screen/</link>
    <description>Recent content in GNU Screen on マスタカの ChangeLog メモ</description>
    <generator>Hugo -- 0.138.0</generator>
    <language>ja</language>
    <lastBuildDate>Mon, 19 Nov 2012 09:00:00 +0900</lastBuildDate>
    <atom:link href="https://masutaka.net/tags/GNU-Screen/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>OSX の GNU Screen は ~/.zprofile を読み込まない？</title>
      <link>https://masutaka.net/2012-11-19-1/</link>
      <pubDate>Mon, 19 Nov 2012 09:00:00 +0900</pubDate>
      <guid>https://masutaka.net/2012-11-19-1/</guid>
      <description>&lt;p&gt;&amp;#x1f517; &lt;a href=&#34;http://blog.catatsuy.org/a/243&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;tmuxのすすめ｜catatsuyのBlog&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;こちらの記事を参考に tmux を試していたら、なんか PATH がおかしい。調べてみたら、むしろ GNU Screen の方がおかしくて、&lt;code&gt;~/.zprofile&lt;/code&gt; が読み込まれていないことが分かった。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>&#x1f517; <a href="http://blog.catatsuy.org/a/243" target="_blank" rel="noopener">tmuxのすすめ｜catatsuyのBlog</a>
</p>
<p>こちらの記事を参考に tmux を試していたら、なんか PATH がおかしい。調べてみたら、むしろ GNU Screen の方がおかしくて、<code>~/.zprofile</code> が読み込まれていないことが分かった。</p>
<p>私の <code>~/.zprofile</code> は以下のとおり。</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-zsh" data-lang="zsh"><span style="display:flex;"><span><span style="color:#75715e">#</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># /etc/zprofile and ~/.zprofile are run for login shells</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">#</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># all bourne shells should source /etc/profile</span>
</span></span><span style="display:flex;"><span>source /etc/profile
</span></span></code></pre></div><p><code>/etc/profile</code> は以下のとおり。</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-zsh" data-lang="zsh"><span style="display:flex;"><span><span style="color:#75715e"># System-wide .profile for sh(1)</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">if</span> <span style="color:#f92672">[</span> -x /usr/libexec/path_helper <span style="color:#f92672">]</span>; <span style="color:#66d9ef">then</span>
</span></span><span style="display:flex;"><span>  eval <span style="color:#e6db74">`</span>/usr/libexec/path_helper -s<span style="color:#e6db74">`</span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">fi</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">if</span> <span style="color:#f92672">[</span> <span style="color:#e6db74">&#34;</span><span style="color:#e6db74">${</span>BASH-no<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span> !<span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;no&#34;</span> <span style="color:#f92672">]</span>; <span style="color:#66d9ef">then</span>
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">[</span> -r /etc/bashrc <span style="color:#f92672">]</span> <span style="color:#f92672">&amp;&amp;</span> . /etc/bashrc
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">fi</span>
</span></span></code></pre></div><p>結果的に以下が原因で、<code>PATH</code> と <code>MANPATH</code> が異なっていた。</p>
<ul>
<li>GNU Screen: <code>eval `/usr/libexec/path_helper -s` </code> が実行されない</li>
<li>tmux: <code>eval `/usr/libexec/path_helper -s` </code> が実行される</li>
</ul>
<p><a href="/2007-01-22-1/">[2007-01-22-1]</a>
 見ると、GNU Screen の挙動が変だよなあ。。。</p>
<p>環境:</p>
<ul>
<li>OSX 10.8.2 Mountain LION</li>
<li>zsh 4.3.11 (i386-apple-darwin12.0) # OSX付属</li>
<li>Screen version 4.00.03 (FAU) 23-Oct-06 # OSX付属</li>
</ul>
<p>ひとまず <code>~/.zprofile</code> を空っぽにして対応。OSX で新規ユーザを作っても、それ系のファイルは作られなかったので、Debian の名残なんでしょう。</p>
<p><strong>追記(2012-11-20):</strong></p>
<p>今回も <a href="https://twitter.com/cvmat" target="_blank" rel="noopener">@cvmat</a>
 さんからアドバイス頂きました。</p>
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr"><a href="https://twitter.com/cvmat?ref_src=twsrc%5Etfw">@cvmat</a> おお！こんな方法があったのですね。でもたしかにscreenのデフォルトの振る舞いが自然ですね。</p>&mdash; マスタカ (@masutaka) <a href="https://twitter.com/masutaka/status/270811664381800449?ref_src=twsrc%5Etfw">November 20, 2012</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


]]></content:encoded>
    </item>
    <item>
      <title>GNU Screen の別 Windows のカレントディレクトリに移動する zsh スクリプト、cdd を直した</title>
      <link>https://masutaka.net/2011-10-12-2/</link>
      <pubDate>Wed, 12 Oct 2011 10:00:00 +0900</pubDate>
      <guid>https://masutaka.net/2011-10-12-2/</guid>
      <description>&lt;p&gt;&amp;#x1f517; &lt;a href=&#34;http://d.hatena.ne.jp/secondlife/20080218/1203303528&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;cdd - screen の別WINDOWのカレントディレクトリに移動する zsh スクリプト - coﾘ・ー・ﾝ＜2nd life&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;結論から言うと結構便利です。GNU Screen を使っている zsh ユーザーは是非お試しを。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>&#x1f517; <a href="http://d.hatena.ne.jp/secondlife/20080218/1203303528" target="_blank" rel="noopener">cdd - screen の別WINDOWのカレントディレクトリに移動する zsh スクリプト - coﾘ・ー・ﾝ＜2nd life</a>
</p>
<p>結論から言うと結構便利です。GNU Screen を使っている zsh ユーザーは是非お試しを。</p>
<p>私の環境では以下のエラーが発生するので、修正して gist にアップしました。coderepos へのコミットの仕方が分からないのと、人によっては必要ない修正なので、gist にアップしました。</p>
<ul>
<li><code>unsetopt clobber</code>（既存のファイルへの上書きリダイレクト防止）を設定していると 49 行目付近の <code>echo &quot;\n&quot; &gt;&gt; &quot;$CDD_PWD_FILE&quot;</code> がエラーになる</li>
<li><code>$HOME/.zsh</code> が存在しないとエラーになる</li>
</ul>
<p>あと、<code>cdadd</code> と <code>cddel</code> がそれぞれ <code>_cdadd</code> と <code>_cddel</code> でないと使えなかったので、直しました。</p>
<script src="https://gist.github.com/masutaka/1278571.js"></script>

<p><strong>追記(2012-05-18):</strong><br>
最近は使ってないというか、存在を忘れてますね〜。。<br>
ところでこんな記事がありました。<br>
&#x1f517; <a href="http://m4i.hatenablog.com/entry/2012/01/26/064329" target="_blank" rel="noopener">cdd を tmux, bash, multi session +α に対応した - カワイイはつくれる</a>
</p>
]]></content:encoded>
    </item>
    <item>
      <title>GNU Screen で window 毎に encoding を変える方法</title>
      <link>https://masutaka.net/2009-08-22-3/</link>
      <pubDate>Sat, 22 Aug 2009 11:00:00 +0900</pubDate>
      <guid>https://masutaka.net/2009-08-22-3/</guid>
      <description>&lt;p&gt;普段は LANG=EUC-JP な環境で、時々 LANG=UTF8 の環境に ssh する時などに便利です。&lt;/p&gt;
&lt;p&gt;変えたい window 上で以下のコマンドを実行してください。&lt;code&gt;&amp;lt;escape key&amp;gt;&lt;/code&gt; のデフォルトは &lt;code&gt;Ctrl-a&lt;/code&gt; です。&lt;code&gt;Ctrl-z&lt;/code&gt; にしている人が多いかもしれないです。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>普段は LANG=EUC-JP な環境で、時々 LANG=UTF8 の環境に ssh する時などに便利です。</p>
<p>変えたい window 上で以下のコマンドを実行してください。<code>&lt;escape key&gt;</code> のデフォルトは <code>Ctrl-a</code> です。<code>Ctrl-z</code> にしている人が多いかもしれないです。</p>
<pre tabindex="0"><code>&lt;escape key&gt;:encoding [enc]
</code></pre><p><code>[enc]</code> は、utf8, eucjp, sjis, jis などが使えます。詳細は man screen をご覧下さい。</p>
<p>参考情報:<br>
<a href="http://unknownplace.org/memo/2005/10/19#e005" target="_blank" rel="noopener">unknownplace.org - 2005/10/19 - :encoding</a>
</p>
<p>P.S.<br>
今気づいたのですが、<code>~/.screenrc</code> の内容は <code>&lt;escape key&gt;:</code> で実行できるのですね。</p>
]]></content:encoded>
    </item>
    <item>
      <title>GNU Screen で 最終行にウィンドウ一覧を表示する方法</title>
      <link>https://masutaka.net/2009-08-22-2/</link>
      <pubDate>Sat, 22 Aug 2009 10:00:00 +0900</pubDate>
      <guid>https://masutaka.net/2009-08-22-2/</guid>
      <description>&lt;p&gt;以下を &lt;code&gt;~/.screenrc&lt;/code&gt; に書くと、&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;hardstatus alwayslastline &amp;#34;[%02c] %`%-w%{=b bw}%n %t%{-}%+w&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;こんな風に表示できます。&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;screen-hardstatus&#34; loading=&#34;lazy&#34; src=&#34;https://masutaka.net/images/screen-hardstatus.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;タブ表示みたいで良いですね。ウィンドウをいくつ開いているかよく忘れるので ^^; 、便利です。&lt;/p&gt;
&lt;p&gt;参考情報:&lt;br&gt;
&lt;a href=&#34;http://d.hatena.ne.jp/naoya/20051223/1135351050&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;GNU screen いろいろまとめ。 - naoyaのはてなダイアリー&lt;/a&gt;
&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>以下を <code>~/.screenrc</code> に書くと、</p>
<pre tabindex="0"><code>hardstatus alwayslastline &#34;[%02c] %`%-w%{=b bw}%n %t%{-}%+w&#34;
</code></pre><p>こんな風に表示できます。</p>
<p><img alt="screen-hardstatus" loading="lazy" src="/images/screen-hardstatus.png"></p>
<p>タブ表示みたいで良いですね。ウィンドウをいくつ開いているかよく忘れるので ^^; 、便利です。</p>
<p>参考情報:<br>
<a href="http://d.hatena.ne.jp/naoya/20051223/1135351050" target="_blank" rel="noopener">GNU screen いろいろまとめ。 - naoyaのはてなダイアリー</a>
</p>
<p><strong>追記(2009-08-23):</strong><br>
zsh ユーザの方は、以下を ~/.zshrc に書いておくと &ldquo;zsh&rdquo; という文字列の代わりに「コマンド実行中はコマンド名を、未実行ならカレントディレクトリを表示」してくれます。情報ありがとうございます。＞ kitokitoki さん</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-zsh" data-lang="zsh"><span style="display:flex;"><span><span style="color:#66d9ef">case</span> <span style="color:#e6db74">&#34;</span>$TERM<span style="color:#e6db74">&#34;</span> in
</span></span><span style="display:flex;"><span>screen<span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>  preexec<span style="color:#f92672">()</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>    echo -ne <span style="color:#e6db74">&#34;\ek#</span><span style="color:#e6db74">${</span>1%% *<span style="color:#e6db74">}</span><span style="color:#e6db74">\e\\&#34;</span>
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span>  precmd<span style="color:#f92672">()</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>    echo -ne <span style="color:#e6db74">&#34;\ek</span><span style="color:#66d9ef">$(</span>basename <span style="color:#66d9ef">$(</span>pwd<span style="color:#66d9ef">))</span><span style="color:#e6db74">\e\\&#34;</span>
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">esac</span>
</span></span></code></pre></div><p>参考情報:<br>
<a href="http://ogawa.s18.xrea.com/tdiary/20080331.html#p02" target="_blank" rel="noopener">screenのキャプションにディレクトリ名 or コマンド名を表示 - メモの日々(2008-03-31)</a>
</p>
]]></content:encoded>
    </item>
    <item>
      <title>GNU Screen の文字コード</title>
      <link>https://masutaka.net/2008-03-23-4/</link>
      <pubDate>Sun, 23 Mar 2008 12:00:00 +0900</pubDate>
      <guid>https://masutaka.net/2008-03-23-4/</guid>
      <description>&lt;ul&gt;
&lt;li&gt;通常は端末から取得されるが、意図した設定にならない場合は &lt;code&gt;~/.screenrc&lt;/code&gt; に &lt;code&gt;defencoding eucJP&lt;/code&gt; などと書くとよい&lt;/li&gt;
&lt;li&gt;文字コードの種類は &lt;code&gt;man screen&lt;/code&gt; に記載されている&lt;/li&gt;
&lt;li&gt;現在の設定は info コマンド(例: &lt;code&gt;C-z i&lt;/code&gt;)で確認できる&lt;/li&gt;
&lt;/ul&gt;</description>
      <content:encoded><![CDATA[<ul>
<li>通常は端末から取得されるが、意図した設定にならない場合は <code>~/.screenrc</code> に <code>defencoding eucJP</code> などと書くとよい</li>
<li>文字コードの種類は <code>man screen</code> に記載されている</li>
<li>現在の設定は info コマンド(例: <code>C-z i</code>)で確認できる</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>windows.el</title>
      <link>https://masutaka.net/2007-10-03-1/</link>
      <pubDate>Wed, 03 Oct 2007 09:00:00 +0900</pubDate>
      <guid>https://masutaka.net/2007-10-03-1/</guid>
      <description>&lt;p&gt;基本的に Emacs は 1 日 1 回だけしか立ち上げないで、必要になればフレームを作る &lt;code&gt;C-x 5 2&lt;/code&gt; という使い方をしている。&lt;/p&gt;
&lt;p&gt;Solaris 上で直接 Emacs を起動していた時は気にならなかったが、Xming を使うようになってから、フレームが邪魔になってきたので、&lt;a href=&#34;https://www.gentei.org/~yuuji/software/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;windows.el&lt;/a&gt;
 を試してみることにした。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>基本的に Emacs は 1 日 1 回だけしか立ち上げないで、必要になればフレームを作る <code>C-x 5 2</code> という使い方をしている。</p>
<p>Solaris 上で直接 Emacs を起動していた時は気にならなかったが、Xming を使うようになってから、フレームが邪魔になってきたので、<a href="https://www.gentei.org/~yuuji/software/" target="_blank" rel="noopener">windows.el</a>
 を試してみることにした。</p>
<p>本来はフレームごとに好みのウィンドウ分割形態を複数持ち、ショートカットキーでそれらを切り替えながら Emacs を使用できるというツールだが、ウィンドウ単位でもそれが出来るとのこと。</p>
<p>1 つのフレームに仮想フレームをいくつも持つような感じ。GNU Screen と同じですね。</p>
<p>~/.emacs.el に以下を設定した。しばらく使ってみるか。</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-elisp" data-lang="elisp"><span style="display:flex;"><span><span style="color:#75715e">;; キー操作 &#34;C-c 数字&#34; は使わない。</span>
</span></span><span style="display:flex;"><span>(setq win:quick-selection <span style="color:#66d9ef">nil</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">;; プレフィックスキーは C-z</span>
</span></span><span style="display:flex;"><span>(setq win:switch-prefix <span style="color:#e6db74">&#34;\C-z&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">;; フレームは使わない。</span>
</span></span><span style="display:flex;"><span>(setq win:use-frame <span style="color:#66d9ef">nil</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>(require <span style="color:#e6db74">&#39;windows</span>)
</span></span><span style="display:flex;"><span>(win:startup-with-window)
</span></span></code></pre></div><p>フレームを 1 つ持つだけで済むので、デスクトップが散らからなくて良い感じ。</p>
<p>ターミナルは TeraTerm を使っているが、GNU Screen を起動しているので、こちらも 1 つ起動しておくだけで良い。うーん、素晴らしい。</p>
]]></content:encoded>
    </item>
    <item>
      <title>GNU Screen の説明</title>
      <link>https://masutaka.net/2004-06-11-1/</link>
      <pubDate>Fri, 11 Jun 2004 09:00:00 +0900</pubDate>
      <guid>https://masutaka.net/2004-06-11-1/</guid>
      <description>&lt;p&gt;URL: &lt;a href=&#34;http://risky-safety.org/~zinnia/screen/contribute2/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;http://risky-safety.org/~zinnia/screen/contribute2/&lt;/a&gt;
&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>URL: <a href="http://risky-safety.org/~zinnia/screen/contribute2/" target="_blank" rel="noopener">http://risky-safety.org/~zinnia/screen/contribute2/</a>
</p>
]]></content:encoded>
    </item>
    <item>
      <title>~/.screenrc</title>
      <link>https://masutaka.net/2002-04-09-1/</link>
      <pubDate>Tue, 09 Apr 2002 09:00:00 +0900</pubDate>
      <guid>https://masutaka.net/2002-04-09-1/</guid>
      <description>&lt;p&gt;コピーモードのウザイメッセージを消す。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;nethack off&lt;/p&gt;
&lt;/blockquote&gt;</description>
      <content:encoded><![CDATA[<p>コピーモードのウザイメッセージを消す。</p>
<blockquote>
<p>nethack off</p>
</blockquote>
]]></content:encoded>
    </item>
    <item>
      <title>GNU Screen の使い方</title>
      <link>https://masutaka.net/2002-03-05-2/</link>
      <pubDate>Tue, 05 Mar 2002 10:00:00 +0900</pubDate>
      <guid>https://masutaka.net/2002-03-05-2/</guid>
      <description>&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://www.dekaino.net/screen/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;http://www.dekaino.net/screen/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www2.jan.ne.jp/~zinnia/screen/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;http://www2.jan.ne.jp/~zinnia/screen/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;分割:   (PREFIX) S&lt;br&gt;
移動:   (PREFIX) C-i&lt;br&gt;
削除:   (PREFIX) X&lt;br&gt;
解除:   (PREFIX) Q&lt;br&gt;
ヘルプ: (PREFIX) ?&lt;/p&gt;
&lt;/blockquote&gt;</description>
      <content:encoded><![CDATA[<ul>
<li><a href="http://www.dekaino.net/screen/" target="_blank" rel="noopener">http://www.dekaino.net/screen/</a>
</li>
<li><a href="http://www2.jan.ne.jp/~zinnia/screen/" target="_blank" rel="noopener">http://www2.jan.ne.jp/~zinnia/screen/</a>
</li>
</ul>
<blockquote>
<p>分割:   (PREFIX) S<br>
移動:   (PREFIX) C-i<br>
削除:   (PREFIX) X<br>
解除:   (PREFIX) Q<br>
ヘルプ: (PREFIX) ?</p>
</blockquote>
]]></content:encoded>
    </item>
  </channel>
</rss>
