PiDP-8/I SoftwareCheck-in [e13467f10a]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Removed -E mode from the dtach call in the pidp8i script: we *want* to be able to detach from the terminal. This should not interfere with terminal escapes from the simulator since dtach should be scanning for this only from the terminal *input* side. If someone comes up with a reason that SIMH or the simulated software needs Ctrl-\ for its own purposes, we can change the detach character to something else.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | screen-mgr-none-dtach
Files: files | file ages | folders
SHA3-256: e13467f10abb2c664c7497727937f4e889d6978c36a666b0a5bb665668b362fc
User & Date: tangent 2020-01-27 17:32:27
Context
2020-01-27
17:33
Fixed a whitespace bug in the method dtach mode uses to extract the PID for passing to systemd, if present. check-in: 021f889a86 user: tangent tags: screen-mgr-none-dtach
17:32
Removed -E mode from the dtach call in the pidp8i script: we *want* to be able to detach from the terminal. This should not interfere with terminal escapes from the simulator since dtach should be scanning for this only from the terminal *input* side. If someone comes up with a reason that SIMH or the simulated software needs Ctrl-\ for its own purposes, we can change the detach character to something else. check-in: e13467f10a user: tangent tags: screen-mgr-none-dtach
17:27
Installing a default etc/pidp8i.rc file if it doesn't already exist so users will have an example to work from. check-in: b9f771a73b user: tangent tags: screen-mgr-none-dtach
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to README.md.

755
756
757
758
759
760
761
762
763


764
765
766
767
768
769
770
...
775
776
777
778
779
780
781





782
783
784
785
786
787
788
us have it both ways.

The `SCREEN_MANAGER` setting is for use by those that need something
other than GNU `screen`. There are several alternatives:

*   **`screen`**: The default, per above.

*   [**`tmux`**][tmux]: A popular alternative to `screen`, especially on
    BSD platforms.



*   [**`dtach`**][dtach]: A minimalist alternative to `screen` which
    provides only its terminal attach/detach features.

    In addition to the virtues called out on the program’s home page,
    use of this option has a side benefit for some PiDP-8/I users:
    `screen` and `tmux` assume an [ANSI X3.64 terminal][ansit] (e.g. DEC
................................................................................
    assumes a dumb teletypewriter, and of the software that does make
    use of a smart terminal, there’s a good chance it wants something
    else, such as a [Tek 4010][t4010] series terminal. These ANSI screen
    managers can therefore get in the way and mess things up.

    `dtach` doesn’t interfere with terminal escape code handling; thus
    this option.






*   **<tt>none</tt>**: Effectively aliases the `pidp8i` and `pidp8i start`
    commands, attaching the simulator to the local console. The `pidp8i
    stop` command becomes a no-op, since stopping the simulator is then
    done in the standard SIMH way: <kbd>Ctrl-E, quit</kbd>.

Note that the alternative screen managers are not installed by default.







|
|
>
>







 







>
>
>
>
>







755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
...
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
us have it both ways.

The `SCREEN_MANAGER` setting is for use by those that need something
other than GNU `screen`. There are several alternatives:

*   **`screen`**: The default, per above.

*   [**`tmux`**][tmux]: A popular alternative to `screen`, especially
    on BSD platforms. Note that the "attention" character for `tmux`
    is <kbd>Ctrl-B</kbd> by default, not <kbd>Ctrl-A</kbd> as with
    `screen`.

*   [**`dtach`**][dtach]: A minimalist alternative to `screen` which
    provides only its terminal attach/detach features.

    In addition to the virtues called out on the program’s home page,
    use of this option has a side benefit for some PiDP-8/I users:
    `screen` and `tmux` assume an [ANSI X3.64 terminal][ansit] (e.g. DEC
................................................................................
    assumes a dumb teletypewriter, and of the software that does make
    use of a smart terminal, there’s a good chance it wants something
    else, such as a [Tek 4010][t4010] series terminal. These ANSI screen
    managers can therefore get in the way and mess things up.

    `dtach` doesn’t interfere with terminal escape code handling; thus
    this option.

    Unlike `screen` and `tmux`, there is no command layer enetered
    via an "attention" keystroke in `dtach`. The only key that `dtach`
    scans for from the terminal is the detach keystroke, which we leave
    at its default, <kbd>Ctrl-\\<kbd>.

*   **<tt>none</tt>**: Effectively aliases the `pidp8i` and `pidp8i start`
    commands, attaching the simulator to the local console. The `pidp8i
    stop` command becomes a no-op, since stopping the simulator is then
    done in the standard SIMH way: <kbd>Ctrl-E, quit</kbd>.

Note that the alternative screen managers are not installed by default.

Changes to bin/pidp8i.in.

172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
    then
        exec "$sim" "$bscript"
    elif [ "$SCREEN_MANAGER" = "tmux" ]
    then
        tmux new-session -s pidp8i -d "$sim" "$bscript"
    elif [ "$SCREEN_MANAGER" = "dtach" ]
    then
        dtach -n $dtsock -Ez "$sim" "$bscript"
    else
        screen -dm -S pidp8i "$sim" "$bscript"
    fi

    # Tell systemd where to find the backgrounded simulator so it can
    # stop it via systemctl.  Skipped on non-systemd systems and where
    # SCREEN_MANAGER=none.







|







172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
    then
        exec "$sim" "$bscript"
    elif [ "$SCREEN_MANAGER" = "tmux" ]
    then
        tmux new-session -s pidp8i -d "$sim" "$bscript"
    elif [ "$SCREEN_MANAGER" = "dtach" ]
    then
        dtach -n $dtsock -z "$sim" "$bscript"
    else
        screen -dm -S pidp8i "$sim" "$bscript"
    fi

    # Tell systemd where to find the backgrounded simulator so it can
    # stop it via systemctl.  Skipped on non-systemd systems and where
    # SCREEN_MANAGER=none.