我正在尝试为我的孩子设置一个我的世界服务器,而屏幕正适合我。 我一直在关注本教程,并且已经参考了AskUbuntu的答案。 我在Ubuntu 16.04.5 x64上运行。 我创建了以下服务文件,并将其链接到/etc/systemd/system/minecraft.service。

[Unit]

Description=Minecraft Server

Documentation=

Wants=network.target

After=network.target

[Service]

User=minecraft

Group=minecraft

Nice=5

EnvironmentFile=-/var/minecraft/unit.conf

KillMode=none

SuccessExitStatus=0 1

ProtectHome=true

ProtectSystem=full

PrivateDevices=true

NoNewPrivileges=true

PrivateTmp=true

InaccessibleDirectories=/root /sys /srv -/opt /media -/lost+found

ReadWriteDirectories=/var/minecraft/server /usr/bin/screen

WorkingDirectory=/var/minecraft/server

#ExecStartPre= /usr/bin/screen -dmS Minecraft

ExecStart= /usr/bin/screen -dm -S Minecraft '/usr/bin/java -Xmx1500M -Xms1024M -jar /var/minecraft/server/craftbukkit-1.13.jar'

ExecStop=/usr/bin/screen -S minecraft -p 0 -X stuff"stop^M"

[Install]

WantedBy=multi-user.target

监视服务启动时,在journalctl日志中得到以下内容:

Aug 05 14:55:41 spigot-1 systemd[1]: Started Minecraft Server.

Aug 05 14:55:41 spigot-1 screen[9869]: No screen session found.

根据我引用的SO帖子,我已经更改了/ var / run / screen中的权限。 这是当前设置:

root@spigot-1:/var/minecraft/server# ls -alR /var/run/screen/

/var/run/screen/:

total 0

drwxrwxrwx  4 root      root       80 Aug  5 14:12 .

drwxr-xr-x 23 root      root      860 Aug  5 14:11 ..

drwx------  2 minecraft minecraft  40 Aug  5 14:55 S-minecraft

drwx------  2 root      root       40 Aug  5 14:50 S-root

/var/run/screen/S-minecraft:

total 0

drwx------ 2 minecraft minecraft 40 Aug  5 14:55 .

drwxrwxrwx 4 root      root      80 Aug  5 14:12 ..

/var/run/screen/S-root:

total 0

drwx------ 2 root root 40 Aug  5 14:50 .

drwxrwxrwx 4 root root 80 Aug  5 14:12 ..

**调试说明**

您将在其中看到带有注释的ExecStartPre命令...如果尝试使用该命令启动屏幕会话,则所有操作都会发生第二个"未找到屏幕会话"错误。

我可以使用" screen -dmS Minecraft [..]"从命令行启动服务器,然后重新连接。 我可以以root用户和" minecraft"用户身份进行操作。

任何帮助将不胜感激

从接近的票数来看,您可能应该已经在unix.stackexchange.com上发布了此内容,但无论如何请参阅我的回答。

为什么使用screen? 您可以在journal中找到程序输出。

我没有Ubuntu,但是我在Fedora 24上尝试了类似的操作,并且遇到了类似的错误。为了进行调查,我在screen命令中添加了strace,并删除了PrivateTmp,以便获得跟踪输出。

ExecStart=/bin/strace -o /tmp/s -f screen -dm -S me bash -c 'sleep 999'

在输出中,我发现最后,screen试图打开一个伪tty,但没有成功:

open("/dev/ptmx", O_RDWR)         = -1 EACCES (Permission denied)

...

write(1,"No more PTYs.

Sorry, could not"..., 52) = 52

我向单元添加了一些ls -l /dev命令,以查看PrivateDevices=true选项的效果。确实存在一个/dev/ptmx文件,但是与我真正的/dev不同,它是指向/dev/pts/ptmx的符号链接,而不仅仅是特殊字符设备。出于某种原因,我的系统上有:

$ ls -l /dev/ptmx /dev/pts/ptmx

crw-rw-rw- 1 root tty  5, 2 Aug  6 14:29 /dev/ptmx

c--------- 1 root root 5, 2 Jun 27 08:29 /dev/pts/ptmx

(这可能是一个错误,具体取决于systemd和udev的版本。)

因此,当在专用名称空间中将/dev/ptmx用指向/dev/pts/ptmx的符号链接替换时,您将无法再打开新的pty。一个简单的测试修补程序是sudo chmod a+rw /dev/pts/ptmx,它确实使单元工作并开始了screen进程。

对于您来说可能不是这种情况,但是您可以采用类似的调试方法来尝试发现问题。

谢谢-我的工作日程允许后,请尽快尝试。 如果有效,则将答案标记为已接受。

我的世界服务器进入显示器,关于minecraft:使用屏幕的系统服务:“未找到屏幕会话”...相关推荐

  1. 我的世界服务器物品属性,属性 - Minecraft Wiki,最详细的官方我的世界百科

    属性(Attributes)是生物和玩家身上的增益/减益特性系统.属性也存在修饰符(Modifiers)中,用于调整属性的强度. 属性应用[] 当应用到一个物品,一个物品的修饰符将增加或减少以修正相应 ...

  2. 我的世界服务器连接协议,go-mc: Minecraft(我的世界)各种协议的Go实现

    Go-MC There's some library in Go support you to create your Minecraft client or server. 这是一些Golang库, ...

  3. 我的世界服务器优化mcbbs,[教程] Minecraft 服务器优化教程

    声明:本教程转载自MCBBS,原作者:jiongjionger * 零 - 系统的选择 * (网页后台可以跳过本段)关于系统的选择,Linux类系统(Centos.Redhat等)固然高效.稳定,但选 ...

  4. 我的世界服务器物品使用权限,MineCraft常用权限大全 - 技巧教程 - 最MC论坛 - 我的世界_Minecraft_联机_服主_资讯_MOD_皮肤_交流_作品_中文论坛...

    其他Noneessentials.silentjoin阻止加入消息的显示Suppress join messages for users  with this permission. 其他Nonees ...

  5. 用友T6显示连接服务器出错,用友T6软件“无法连接到服务器”,出现提示:“运行时错误‘48’:文件未找到:Client.Dll”...

    技术转让收入能否作为"三项费用"扣除基数 技术转让收入能否作为"三项费用"扣除基数 技术转让是指转让者将其拥有的专利和非专利技术的所有权和使用权有偿转让他人的行为. 技术转让收入,指单位和个人转让专利 ...

  6. 乌班图系统我的世界服务器手机版,如何在Ubuntu 20.04上搭建Minecraft服务器

    <我的世界>是有史以来最受欢迎的游戏之一.本教程说明了如何在Ubuntu 20.04上制作Minecraft服务器.我们将使用Systemd运行Minecraft服务器,并使用该mcrco ...

  7. 我的世界服务器java启动脚本_教程/服务器启动脚本

    警告 因为这是Wiki的一个条目,可以在任何时间内被任何人编辑,因此建议你不要完全使用这个脚本,而是将其当作编写脚本的指导手册看待. 这是一个可供参考的Minecraft启动脚本示例,并使用GNU/L ...

  8. 我的世界服务器如何修改加载规模,我的世界服务器预加载区域怎么调小

    满意答案 首先我们先停止服务器 为了服务器的健康着想,我们先关掉服务器,即输入[stop]命令后敲回车,我想大家都会哈! 我的世界服务器怎么调整困难度 找到[server.properties]文件, ...

  9. 我的世界服务器怎么添加信息框,我的世界服务器怎么添加指定建筑

    匿名用户 1级 2017-01-08 回答 下载创世神mod(WE)先把需要生成的建筑复制(选定建筑的区域,在对话栏中输入/copy) 推出存档,到你的服务器里(不要退出minecraft,只是退出地 ...

最新文章

  1. linux启动docker_10分钟快速掌握Docker必备基础知识
  2. AttributeError系列之:AttributeError: 'tuple' object has no attribute 'shape'
  3. dll文件的c++制作
  4. centos samba 配置
  5. 【JQuery】初始化页面当异步加载时构建页面元素的顺序
  6. ajax登录验证的原理,ajax用户登录验证-get和post提交方式,与工作原理—2018-8-15...
  7. django 部署_狂野的Django:部署生存的技巧
  8. php找不到库,64位系统下编译PHP找不到库文件问题 | 学步园
  9. html简单实现下拉菜单
  10. IDEA构建Spring源码
  11. JAVA中MD5加密解密(MD5工具类)
  12. 评价类(观点)题和理解类题目的辨析 区别一:审题干信息和题目要求。
  13. hive2.3.2+mysql5.7.21驱动包_2018-08-30期 Hive外部元数据库配置
  14. 高云FPGA系列教程(基于GW1NSR-4C TangNano 4K开发板)
  15. PAT 乙级 1035  插入与归并
  16. AAAI2020放榜,审稿遭疯狂吐槽!八篇入选论文提前看!
  17. 前端_Android Studio 安装出现 HAXM installation failed 问题
  18. 超级播(去广告播放器) v1.14.912.1 官方版
  19. 获取安卓设备的有线网卡的MAC地址(安卓TV、安卓系统的广告机等)
  20. 总结定时器设计方法_钢结构深化设计BIM应用方法总结

热门文章

  1. 工业ESD防静电闸机系统帮助您实现静电监控自如!
  2. LIMS系统平台在第三方检测实验室中的意义
  3. JAVA编程-----猜姓氏游戏
  4. 给大家总结一个海淘Thinkpad的流程、注意事项和常见问题
  5. 计算机内存主要有哪几种,内存类型有哪些
  6. 专访星环CEO孙元浩:成国产基础软件第一股 解决卡脖子工程
  7. NLP实战:面向中文电子病历的命名实体识别
  8. 高清图书扫描仪与纸质图书
  9. 字幕组同行大战揭密:商业与理想两难全[cnbeta,2010-03-23](陈礼彬转)
  10. vCalendar文件格式解析