文档章节

Linux 无图形化桌面 ** exception error: undefined function observer:start/0

SummerGao
 SummerGao
发布于 05/15 23:42
字数 687
阅读 1
收藏 0

解决:** exception error: undefined function observer:start/0 问题

1、当在无图形化桌面的Linux(这里是在 Win10 应用商店版 Ubuntu 18.04 LTS 子系统下进行测试)终端下运行:observer:start().

    会提示 observer:start/0 函数未定义,而在win10 powershell下则可以正常运行。

如图会提示函数没有定义:** exception error: undefined function observer:start/0

2、解决办法,是通过rpc来实现间接访问 。因为在win10上可以启动查看器,所以可以通过借助win10 上的查看器来连接Linux 系统上的erlang节点。

具体步骤如下:

1.Win10上启动erlang节点并设置cookie为:abc 

PS C:\Users\SummerGao> erl -name rpc@127.0.0.1 -setcookie abc
Eshell V9.1  (abort with ^G)
(rpc@127.0.0.1)1>  observer:start().
ok
(rpc@127.0.0.1)2>

2.Linux系统上启动erlang节点后 设置一下当前节点的cookie(需要与win10上设置的cookie保持一致)

root@DESKTOP-VDFG4H0:/home# erl -name summergao@127.0.0.1 -setcookie abc
Erlang/OTP 20 [erts-9.2] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [kernel-poll:false]
Eshell V9.2  (abort with ^G)
(summergao@127.0.0.1)1>

如果忘记或刚开始没有设置cookie,则可以通过 erlang:set_cookie(node(), abc). 函数设置一下(可以在已经启动的节点上用这种方法设置cookie)

(summergao@127.0.0.1)1> erlang:set_cookie(node(), abc).                  
true

3.下面开始连接

如下说明连接成功:

参数说明:

(1) 用-name参数启动Erlang。我们在同一台机器上运行两个节点时可以使用“短”(short)名称(通过-sname标识体现)。但如果它们属于不同的网络,我们就要使用-name。当两台机器位于同一个子网时我们也可以使用-sname。而且如果没有DNS服务, -sname就是唯一可行的方式。
(2) 确保两个节点拥有相同的cookie。这正是启动两个节点时都使用命令行参数-setcookie abc的原因。
(3) 确保相关节点的完全限定主机名(fully qualified hostname)可以被DNS解析。

(4) 确保两个系统拥有相同版本的代码和相同版本的Erlang。如果不这么做,就可能会得到严重而离奇的错误。避免问题的最简单的方法是在所有地方都运行相同版本的Erlang。不同版本的Erlang可以一起运行,但是无法保证能正常工作,所以最好事先检查一下。

参考:《Erlang程序设计(第二版)》第十四章 分布式编程

参考:https://blog.csdn.net/libaineu2004/article/details/78166077

© 著作权归作者所有

SummerGao
粉丝 4
博文 200
码字总数 73823
作品 0
济南
高级程序员
私信 提问
内核编译错误: make: *** [.tmp_vmlinux1] Error 1

若编译内核出现如下情况: WARNING: modpost: Found 1 section mismatch(es). To see full details build your kernel with: 'make CONFIG_DEBUG_SECTION_MISMATCH=y' GEN .version CHK incl......

长平狐
2013/06/03
1K
0
Erlang 17.1怎么没有Table Visualizer和Toolbar了?

我在Windows上装的Erlang/OTP 17.1,怎么没法启动“v:start().”,提示** exception error: undefined function tv:start/0 。也没有 toolbar:start()。...

tonybuaa
2014/08/29
458
1
Erlang安装时加载openssl的libcrypto.a失败,执行crypto:start()报错的解决方案

刚开始碰到这个问题的时候,从网上找的例子。搞了半天不好使,后来发现了原因,主因是自己对linux认知不够,只有发布服务、查看日志的基本功。 先上原文连接:http://blog.csdn.net/zhongrui...

onedotdot
2018/05/11
97
0
ndk编译opencl出现问题,大家来讨论一下

D:/utils/android-ndk-r9d/toolchains/x86-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/i686-linux-android/4.6/../../../../i686-linux-android/bin/ld.exe: warning: skipping incompatib......

冰冻流星
2016/08/10
549
0
20120409 问题已经解决,debian6 上编译 android ics4.0编译用时:...

我的主机是 debian 6 x86_64 同步完android 4.0 的源码后,进行编译。 google 官方只有ubuntu 的解决方案,只字未提debian. 看来google 与ubuntu 关系很好! 以下为出错日志,现在还未解决,...

韩工
2012/04/16
394
0

没有更多内容

加载失败,请刷新页面

加载更多

Xss过滤器(Java)

问题 最近旧的系统,遇到Xss安全问题。这个系统采用用的是spring mvc的maven工程。 解决 maven依赖配置 <properties><easapi.version>2.2.0.0</easapi.version></properties><dependenci......

亚林瓜子
40分钟前
3
0
Navicat 快捷键

操作 结果 ctrl+q 打开查询窗口 ctrl+/ 注释sql语句 ctrl+shift +/ 解除注释 ctrl+r 运行查询窗口的sql语句 ctrl+shift+r 只运行选中的sql语句 F6 打开一个mysql命令行窗口 ctrl+l 删除一行 ...

低至一折起
今天
7
0
Set 和 Map

Set 1:基本概念 类数组对象, 内部元素唯一 let set = new Set([1, 2, 3, 2, 1]); console.log(set); // Set(3){ 1, 2, 3 } [...set]; // [1, 2, 3] 接收数组或迭代器对象 ...

凌兮洛
今天
1
0
PyTorch入门笔记一

张量 引入pytorch,生成一个随机的5x3张量 >>> from __future__ import print_function>>> import torch>>> x = torch.rand(5, 3)>>> print(x)tensor([[0.5555, 0.7301, 0.5655],......

仪山湖
今天
5
0
OSChina 周二乱弹 —— 开发语言和语言开发的能一样么

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @花间小酌:#今日歌曲推荐# 分享The Score的单曲《Revolution》 《Revolution》- The Score 手机党少年们想听歌,请使劲儿戳(这里) @批判派...

小小编辑
今天
2.9K
19

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部