"use strict";
(() => {
var exports = {};
exports.id = 2302;
exports.ids = [2302,2438,7206];
exports.modules = {

/***/ 573875:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({"src":"/_next/static/media/terminal.75480260.png","height":607,"width":1362,"blurDataURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAADCAMAAACZFr56AAAADFBMVEX+/v739/fm5ujv7+/UKmnrAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAG0lEQVQImWNgYmZmZGBgYGRgYgTRDAwMTFAaAAFkABLk9wUoAAAAAElFTkSuQmCC"});

/***/ }),

/***/ 682578:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "default": () => (/* binding */ Terminal),
  "getServerSideProps": () => (/* binding */ getServerSideProps)
});

// EXTERNAL MODULE: external "react/jsx-runtime"
var jsx_runtime_ = __webpack_require__(920997);
// EXTERNAL MODULE: external "antd"
var external_antd_ = __webpack_require__(545725);
// EXTERNAL MODULE: ./components/landing/footer.tsx + 1 modules
var footer = __webpack_require__(920691);
// EXTERNAL MODULE: ./components/landing/header.tsx + 2 modules
var header = __webpack_require__(113680);
// EXTERNAL MODULE: ./components/landing/content.tsx
var content = __webpack_require__(113684);
// EXTERNAL MODULE: ./lib/with-customize.ts
var with_customize = __webpack_require__(422638);
// EXTERNAL MODULE: ./lib/customize.ts
var lib_customize = __webpack_require__(481617);
// EXTERNAL MODULE: ./components/misc/A.tsx
var A = __webpack_require__(617637);
// EXTERNAL MODULE: ./components/landing/sign-in.tsx
var sign_in = __webpack_require__(39646);
// EXTERNAL MODULE: ./components/landing/info.tsx
var info = __webpack_require__(59737);
// EXTERNAL MODULE: ./components/landing/code.tsx
var code = __webpack_require__(683068);
// EXTERNAL MODULE: ./components/landing/head.tsx
var head = __webpack_require__(422004);
// EXTERNAL MODULE: ./components/landing/snapshots.tsx + 1 modules
var snapshots = __webpack_require__(607746);
// EXTERNAL MODULE: ./pages/features/linux.tsx + 2 modules
var linux = __webpack_require__(791492);
// EXTERNAL MODULE: ./components/landing/compare.tsx + 1 modules
var compare = __webpack_require__(180728);
// EXTERNAL MODULE: ../frontend/dist/components/icon.js
var icon = __webpack_require__(807772);
// EXTERNAL MODULE: ./public/features/terminal.png
var terminal = __webpack_require__(573875);
// EXTERNAL MODULE: ./public/features/linux-logo.svg
var linux_logo = __webpack_require__(180906);
// EXTERNAL MODULE: ./public/features/cocalc-terminal-collab.gif
var cocalc_terminal_collab = __webpack_require__(924727);
// EXTERNAL MODULE: ./public/features/cocalc-shell-script-run.png
var cocalc_shell_script_run = __webpack_require__(321908);
;// CONCATENATED MODULE: ./public/features/terminal-software.png
/* harmony default export */ const terminal_software = ({"src":"/_next/static/media/terminal-software.58cc4e1b.png","height":1116,"width":2138,"blurDataURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAMAAACEE47CAAAAD1BMVEXy8vL6+vvn5+fe3t/s7Oz6lTA2AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIUlEQVQImR3JsQ0AAAzCsBD4/+ZK9WoSQgeZINBWdYx8HQOHADaYhC9HAAAAAElFTkSuQmCC"});
;// CONCATENATED MODULE: ./pages/features/terminal.tsx
















const component = "a Linux Terminal";
const title = `Online Linux Terminal`;





function Terminal({ customize  }) {
    return /*#__PURE__*/ (0,jsx_runtime_.jsxs)(lib_customize/* Customize */.l, {
        value: customize,
        children: [
            /*#__PURE__*/ jsx_runtime_.jsx(head/* default */.Z, {
                title: title
            }),
            /*#__PURE__*/ (0,jsx_runtime_.jsxs)(external_antd_.Layout, {
                children: [
                    /*#__PURE__*/ jsx_runtime_.jsx(header/* default */.Z, {
                        page: "features",
                        subPage: "terminal"
                    }),
                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)(external_antd_.Layout.Content, {
                        children: [
                            /*#__PURE__*/ jsx_runtime_.jsx("div", {
                                style: {
                                    backgroundColor: "#c7d9f5"
                                },
                                children: /*#__PURE__*/ jsx_runtime_.jsx(content/* default */.Z, {
                                    startup: component,
                                    logo: linux_logo/* default */.Z,
                                    title: title,
                                    subtitle: "A Linux Terminal that can't mess up your own computer.",
                                    subtitleBelow: true,
                                    image: terminal/* default */.Z,
                                    alt: "Running Sage in a Terminal"
                                })
                            }),
                            /*#__PURE__*/ jsx_runtime_.jsx(linux.FullLinuxTerminal, {}),
                            /*#__PURE__*/ jsx_runtime_.jsx(sign_in/* default */.Z, {
                                startup: component
                            }),
                            /*#__PURE__*/ jsx_runtime_.jsx(info/* default.Heading */.Z.Heading, {
                                description: /*#__PURE__*/ (0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, {
                                    children: [
                                        "There are many ways to use ",
                                        component,
                                        " online via CoCalc."
                                    ]
                                }),
                                children: "Feature Overview"
                            }),
                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)(info/* default */.Z, {
                                title: "Realtime collaboration",
                                icon: "users",
                                image: cocalc_terminal_collab/* default */.Z,
                                anchor: "a-realtimecollab",
                                alt: "Video showing synchronized terminals",
                                wide: true,
                                children: [
                                    /*#__PURE__*/ jsx_runtime_.jsx("p", {
                                        children: "The same terminal can be opened by two or more users. Both see the same view, which adaptively resizes to a common size."
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "Additionally, open a",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://doc.cocalc.com/chat.html",
                                                children: "side chat"
                                            }),
                                            " panel to exchange thoughts and ideas."
                                        ]
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "This is ideal for getting advice by a colleague or",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://doc.cocalc.com/teaching-interactions.html",
                                                children: "helping a student of yours"
                                            }),
                                            "."
                                        ]
                                    })
                                ]
                            }),
                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)(info/* default */.Z, {
                                title: "Run Bash, Python, R, etc.",
                                icon: "r",
                                image: cocalc_shell_script_run/* default */.Z,
                                anchor: "a-shell-script",
                                alt: "Screenshot of editing and running a shell script",
                                caption: /*#__PURE__*/ (0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, {
                                    children: [
                                        "Bash ",
                                        /*#__PURE__*/ jsx_runtime_.jsx(code/* default */.Z, {
                                            children: "script.sh"
                                        }),
                                        " file (left),",
                                        " ",
                                        /*#__PURE__*/ jsx_runtime_.jsx(code/* default */.Z, {
                                            children: "bash -f script.sh"
                                        }),
                                        " to run (right)"
                                    ]
                                }),
                                children: [
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "CoCalc's",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://doc.cocalc.com/frame-editor.html",
                                                children: "frame editor"
                                            }),
                                            " ",
                                            "supports ",
                                            /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                children: "editing script files"
                                            }),
                                            " side-by-side with a",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                children: /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                    href: "https://doc.cocalc.com/terminal.html",
                                                    children: "terminal"
                                                })
                                            }),
                                            "."
                                        ]
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "To get started, create a file with a suitable ending, e.g.",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(code/* default */.Z, {
                                                children: ".py"
                                            }),
                                            ", ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(code/* default */.Z, {
                                                children: ".sh"
                                            }),
                                            ", ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(code/* default */.Z, {
                                                children: ".r"
                                            }),
                                            ", ... Then open that file (via ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(code/* default */.Z, {
                                                children: "open filename.ext"
                                            }),
                                            ") and you can edit it with ",
                                            /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                children: "syntax highlighting"
                                            }),
                                            ". Finally, split the frame and select the Terminal, like you can see it in the screenshot. Execute ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(code/* default */.Z, {
                                                children: "python3 script.py"
                                            }),
                                            ",",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(code/* default */.Z, {
                                                children: "bash -f script.sh"
                                            }),
                                            ", ... to run it.",
                                            " "
                                        ]
                                    })
                                ]
                            }),
                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)(info/* default */.Z, {
                                title: "Comprehensive software stack",
                                icon: "server",
                                image: terminal_software,
                                anchor: "a-stack",
                                alt: "Terminals software",
                                caption: "Linux Terminals using vim, emacs, clang, mysql, cpp, maxim and zsh!",
                                wide: true,
                                children: [
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "Many ",
                                            /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                children: "popular applications"
                                            }),
                                            " are included in CoCalc:",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://git-scm.com/",
                                                children: "Git"
                                            }),
                                            " to interact with",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://www.github.com",
                                                children: "GitHub"
                                            }),
                                            ",",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://www.vim.org/",
                                                children: "VIM"
                                            }),
                                            ",",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://www.gnu.org/software/emacs/",
                                                children: "Emacs"
                                            }),
                                            ", various programming shells like ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://ipython.org/",
                                                children: "IPython"
                                            }),
                                            ", ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://www.r-project.org/",
                                                children: "R"
                                            }),
                                            ",",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://www.gnu.org/software/octave/index",
                                                children: "Octave"
                                            }),
                                            " and",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://www.sagemath.org/",
                                                children: "SageMath"
                                            }),
                                            "."
                                        ]
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "There is also support for many programming languages and compilers. ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "/features/python",
                                                children: "Python"
                                            }),
                                            ", JAVA, C/C++ via",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://gcc.gnu.org/",
                                                children: "GCC"
                                            }),
                                            " and",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://clang.llvm.org/",
                                                children: "Clang"
                                            }),
                                            ",",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://ziglang.org/",
                                                children: "Zig"
                                            }),
                                            ",",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://en.wikipedia.org/wiki/Ada_(programming_language)",
                                                children: "Ada"
                                            }),
                                            ",",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://en.wikipedia.org/wiki/Haskell_(programming_language)",
                                                children: "Haskell"
                                            }),
                                            ", ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://en.wikipedia.org/wiki/Smalltalk",
                                                children: "Smalltalk"
                                            }),
                                            ",",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://www.rust-lang.org/",
                                                children: "Rust"
                                            }),
                                            " and many more."
                                        ]
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "Look at our",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                children: /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                    href: "/software/executables",
                                                    children: "list of executables"
                                                })
                                            }),
                                            " ",
                                            "to check what is available!",
                                            " "
                                        ]
                                    })
                                ]
                            }),
                            /*#__PURE__*/ jsx_runtime_.jsx(snapshots/* default */.Z, {}),
                            /*#__PURE__*/ jsx_runtime_.jsx(compare/* default */.Z, {
                                name: "terminal",
                                disclaimer: true,
                                title: /*#__PURE__*/ (0,jsx_runtime_.jsxs)("h2", {
                                    style: {
                                        textAlign: "center"
                                    },
                                    children: [
                                        /*#__PURE__*/ jsx_runtime_.jsx(icon.Icon, {
                                            name: "bolt"
                                        }),
                                        " Terminals in CoCalc versus the competition"
                                    ]
                                })
                            }),
                            /*#__PURE__*/ jsx_runtime_.jsx(sign_in/* default */.Z, {
                                startup: component
                            })
                        ]
                    }),
                    /*#__PURE__*/ jsx_runtime_.jsx(footer/* default */.Z, {})
                ]
            })
        ]
    });
};
async function getServerSideProps(context) {
    return await (0,with_customize/* default */.Z)({
        context
    });
}


/***/ }),

/***/ 545725:
/***/ ((module) => {

module.exports = require("antd");

/***/ }),

/***/ 770640:
/***/ ((module) => {

module.exports = require("cookies");

/***/ }),

/***/ 65680:
/***/ ((module) => {

module.exports = require("lru-cache");

/***/ }),

/***/ 492796:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/head-manager-context.js");

/***/ }),

/***/ 294957:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/head.js");

/***/ }),

/***/ 703539:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/i18n/detect-domain-locale.js");

/***/ }),

/***/ 734014:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/i18n/normalize-locale-path.js");

/***/ }),

/***/ 450744:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/image-config-context.js");

/***/ }),

/***/ 435843:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/image-config.js");

/***/ }),

/***/ 278524:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/is-plain-object.js");

/***/ }),

/***/ 878020:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/mitt.js");

/***/ }),

/***/ 664406:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/page-path/denormalize-page-path.js");

/***/ }),

/***/ 424964:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router-context.js");

/***/ }),

/***/ 623938:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/format-url.js");

/***/ }),

/***/ 329565:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/get-asset-path-from-route.js");

/***/ }),

/***/ 264365:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/get-middleware-regex.js");

/***/ }),

/***/ 901428:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/is-dynamic.js");

/***/ }),

/***/ 491292:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/parse-relative-url.js");

/***/ }),

/***/ 980979:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/querystring.js");

/***/ }),

/***/ 836052:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/resolve-rewrites.js");

/***/ }),

/***/ 584226:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/route-matcher.js");

/***/ }),

/***/ 95052:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/route-regex.js");

/***/ }),

/***/ 359232:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/utils.js");

/***/ }),

/***/ 40968:
/***/ ((module) => {

module.exports = require("next/head");

/***/ }),

/***/ 371853:
/***/ ((module) => {

module.exports = require("next/router");

/***/ }),

/***/ 616689:
/***/ ((module) => {

module.exports = require("react");

/***/ }),

/***/ 566405:
/***/ ((module) => {

module.exports = require("react-dom");

/***/ }),

/***/ 920997:
/***/ ((module) => {

module.exports = require("react/jsx-runtime");

/***/ }),

/***/ 439491:
/***/ ((module) => {

module.exports = require("assert");

/***/ }),

/***/ 714300:
/***/ ((module) => {

module.exports = require("buffer");

/***/ }),

/***/ 706113:
/***/ ((module) => {

module.exports = require("crypto");

/***/ }),

/***/ 809523:
/***/ ((module) => {

module.exports = require("dns");

/***/ }),

/***/ 582361:
/***/ ((module) => {

module.exports = require("events");

/***/ }),

/***/ 657147:
/***/ ((module) => {

module.exports = require("fs");

/***/ }),

/***/ 241808:
/***/ ((module) => {

module.exports = require("net");

/***/ }),

/***/ 822037:
/***/ ((module) => {

module.exports = require("os");

/***/ }),

/***/ 371017:
/***/ ((module) => {

module.exports = require("path");

/***/ }),

/***/ 677282:
/***/ ((module) => {

module.exports = require("process");

/***/ }),

/***/ 285477:
/***/ ((module) => {

module.exports = require("punycode");

/***/ }),

/***/ 12781:
/***/ ((module) => {

module.exports = require("stream");

/***/ }),

/***/ 371576:
/***/ ((module) => {

module.exports = require("string_decoder");

/***/ }),

/***/ 924404:
/***/ ((module) => {

module.exports = require("tls");

/***/ }),

/***/ 76224:
/***/ ((module) => {

module.exports = require("tty");

/***/ }),

/***/ 257310:
/***/ ((module) => {

module.exports = require("url");

/***/ }),

/***/ 473837:
/***/ ((module) => {

module.exports = require("util");

/***/ })

};
;

// load runtime
var __webpack_require__ = require("../../webpack-runtime.js");
__webpack_require__.C(exports);
var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
var __webpack_exports__ = __webpack_require__.X(0, [549,6918,3429,1746,9505,1748,3734,2208,5654,5887,9715,2448,1107,9521,5114,722,3624,9924,5379,2240,3684,9737,2181,7746,728,1492], () => (__webpack_exec__(682578)));
module.exports = __webpack_exports__;

})();